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

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

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

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

工具目录

分类

查看所有分类
Loading categories
cve-2025-55182-poc — Proof of Concept for CVE-2025-55182 ("React2Shell"). A fully dockerized environment demonstrating Remote Code Execution (RCE) via insecure deserialization in React Server Components. Includes vulnerable targets for both Vanilla React (Express) and Next.js, along with a custom Python exploit script. | Kitploit
工具/GitHubGitHub/trax69/cve-2025-55182-poc
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & EducationPayload DevelopmentBinary ExploitationLabs & Practice

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →

关于

Proof of Concept for CVE-2025-55182 ("React2Shell"). A fully dockerized environment demonstrating Remote Code Execution (RCE) via insecure deserialization in React Server Components. Includes vulnerable targets for both Vanilla React (Express) and Next.js, along with a custom Python exploit script.

分享
GitHubtrax69/cve-2025-55182-poc

cve-2025-55182-poc

查看仓库
8个月前尚未审核

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

⚠️ 免责声明:仅限教育用途 此仓库包含一个严重漏洞(CVSS 10.0)的功能性利用代码。其使用严格限于学术研究、安全分析和教育目的。请勿将此代码用于您不拥有或未经明确许可测试的系统。作者不对任何滥用行为负责。

📄 摘要

本项目记录并展示了 CVE-2025-55182,这是一个存在于 React Server Components (RSC) 架构中的严重远程代码执行(RCE)漏洞,常被称为 "React2Shell"。该漏洞允许未经认证的远程攻击者通过操纵 react-server 所使用的 "Flight" 序列化协议在服务器上执行任意代码。

本实验室提供了一个受控、隔离的 Docker 环境,用于在两种不同场景下分析该漏洞:

  1. 原生 RSC: 使用 react-server-dom-webpack 和 Express 的原始实现。
  2. Next.js: 使用易受攻击版本的 Next.js App Router 的标准部署。

🏗️ 架构

该环境通过 Docker Compose 编排,由三个隔离容器组成,通过一个私有内部网络(research-net)相互连接。

服务上下文描述易受攻击组件
vanilla-targetvanilla-rsc/手动实现 RSC 协议的最小化 Express 服务器。[email protected]
nextjs-targetnextjs-app/使用 App Router 的标准 Next.js 应用程序。[email protected] (实现 react-server)
attackerexploit/包含利用脚本的 Python 环境。不适用

技术根本原因

该漏洞源于 Flight 协议解析器中的不安全反序列化(CWE-502)。攻击者通过注入包含“伪造”块结构的特殊多部分载荷,可以:

  1. 污染原型: 覆写类 Promise 对象的 .then 属性。
  2. 触发小工具链: 强制服务器遍历内部小工具链(引用 $B 块)。
  3. 执行代码: 到达 Function() 构造函数以编译并执行任意 JavaScript(例如 child_process.execSync)。

🚀 快速开始

前置条件

  • Docker 和 Docker Compose
  • Git

安装与部署

  1. 克隆仓库:

    root@kitploit:~
    git clone https://github.com/trax69/cve-2025-55182-poc.git
    cd cve-2025-55182-poc
    
  2. 构建并启动实验室:

    root@kitploit:~
    docker-compose up -d --build
    

    等待容器完全初始化。Next.js 容器可能需要几分钟时间完成首次构建。

💥 利用

利用逻辑封装在 exploit/exploit.py 中。您可以从宿主机(如果安装了 Python)或直接从 attacker 容器中运行攻击。

方法 A:从攻击者容器运行(推荐)

  1. 进入攻击者 shell:

    root@kitploit:~
    docker-compose exec attacker bash
    
  2. 安装依赖:

    root@kitploit:~
    pip install -r requirements.txt
    
  3. 攻击目标 A(原生 React):

    root@kitploit:~
    python exploit.py http://vanilla-target:4000/rsc vanilla
    
  4. 攻击目标 B(Next.js):

    root@kitploit:~
    python exploit.py http://nextjs-target:3000/ nextjs
    

验证

该利用尝试在目标服务器的 /tmp 目录下创建一个名为 pwned.txt 的文件。要验证是否成功:

root@kitploit:~
# 检查原生服务器
docker-compose exec vanilla-target ls -la /tmp/pwned.txt

# 检查 Next.js 服务器
docker-compose exec nextjs-target ls -la /tmp/pwned.txt

如果成功,您将看到文件列表。如果利用失败,该文件将不存在。

🛡️ 缓解措施

要在生产环境中修复此漏洞,请执行以下操作:

  1. React: 将 react-server-dom-webpack(及相关包)升级到 19.0.1、19.1.2 或 19.2.1+ 版本。
  2. Next.js: 升级到 v15.0.5+ 或 v16.0.7+。
  3. WAF: 实施规则以阻止包含 "$1:__proto__" 签名或在多部分主体中异常使用 "$@" 的请求。

📚 参考资料

  • (https://nvd.nist.gov/vuln/detail/CVE-2025-55182)
  • (https://github.com/msanft/CVE-2025-55182)

大学项目 - 安全审计与漏洞研究

下载工具