Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-55182 — CVE-2025-55182 的概念验证漏洞利用程序,这是 React Server Components 中的一个严重未认证远程代码执行漏洞。包含自动化 Python 漏洞利用程序、技术分析、检测规则以及用于授权安全测试的实验室环境搭建。 | Kitploit
工具/GitHubGitHub/tinashelorenzi/cve-2025-55182
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试入侵检测学习与教育红队Payload 开发实验室与实践
GitHubtinashelorenzi/cve-2025-55182

CVE-2025-55182

CVE-2025-55182 的概念验证漏洞利用程序,这是 React Server Components 中的一个严重未认证远程代码执行漏洞。包含自动化 Python 漏洞利用程序、技术分析、检测规则以及用于授权安全测试的实验室环境搭建。

179个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

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

针对 CVE-2025-55182 的全面概念验证(PoC)利用工具与教育资源。CVE-2025-55182 是一个影响 React Server Components 的严重远程代码执行漏洞,CVSS 评分为 10.0。

Python Version License CVSS

法律免责声明

仅供教育和授权测试用途

本工具仅用于教育目的和授权安全测试。未经授权访问计算机系统在包括美国《计算机欺诈和滥用法》(CFAA)在内的多项法律以及世界各地的类似立法中均属违法行为。

您必须:

  • 仅在您拥有或已获得明确书面授权测试的系统上使用本工具
  • 遵守所有适用的地方、州和联邦法律
  • 负责任且合乎道德地使用本工具

作者和贡献者:

  • 不对因使用本工具造成的任何滥用或损害负责
  • 不认可或鼓励未经授权访问计算机系统
  • 严格出于教育和防御性安全目的提供本工具

使用本工具即表示您确认理解并同意上述条款。

📋 目录

  • 概述
  • 漏洞详情
  • 受影响版本
  • 技术分析
  • 安装
  • 使用方法
  • 检测
  • 修复方案
  • 实验环境搭建
  • 参考资料
  • 参与贡献
  • 作者

🎯 概述

React2Shell 是于 2025 年 12 月发现的一个关键漏洞,影响 React Server Components (RSC) 及其实现框架,尤其是 Next.js。该漏洞允许攻击者通过单个精心构造的 HTTP 请求实现未经认证的远程代码执行。

本仓库包含:

  • ✅ 自动化 Python 利用脚本
  • ✅ 详细的技术分析
  • ✅ 检测规则(Snort、OSQuery)
  • ✅ 实验环境搭建指南
  • ✅ 全面的文档资料

🔍 漏洞详情

字段详情
CVE IDCVE-2025-55182
CVSS 评分10.0(严重)
攻击向量网络
攻击复杂度低
所需权限无
用户交互无
影响系统完全沦陷(RCE)
披露日期2025 年 12 月

为何此漏洞至关重要?

  1. 无需认证 —— 任何未经认证的攻击者均可利用
  2. 默认配置即存在漏洞 —— 通过 create-next-app 创建的标准 Next.js 应用即可被利用
  3. 可靠性高 —— 利用成功率接近 100%
  4. 攻击面广 —— 超过 571,000 台运行 React 组件的公网服务器(Shodan 数据)
  5. 影响严重 —— 以 Node.js 进程权限实现完全远程代码执行

📦 受影响版本

React Server Components

受影响版本:

  • react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0

已修复版本:

  • React 19.0.1
  • React 19.1.2
  • React 19.2.1

Next.js

受影响版本:

  • 所有 ≥14.3.0-canary.77 的版本
  • 所有 15.x 版本(修复前)
  • 所有 16.x 版本(修复前)

已修复版本:

  • 请查看 Next.js 的发布版本,以获取包含 React 补丁的更新版本

其他受影响的框架

  • React Router(使用 RSC 模式时)
  • Waku
  • Redwood SDK
  • 各种支持 RSC 的框架

🔬 技术分析

根本原因

该漏洞存在于 React Server Components 反序列化逻辑中的 requireModule 函数内:

function requireModule(metadata) {  
  var moduleExports = __webpack_require__(metadata[0]);  
  return moduleExports[metadata[2]];  // VULNERABLE LINE - Prototype chain traversal
}

该缺陷允许攻击者通过 React Flight 协议遍历 JavaScript 原型链,借助 constructor.constructor 等属性访问 Function 构造函数,从而实现任意代码执行。

利用链

  1. 伪造 Chunk —— 攻击者发送包含精心构造的 chunk 对象的多部分表单数据
  2. 原型污染 —— 利用 __proto__ 创建自引用结构
  3. 滥用 Blob 处理器 —— 触发 React 内部的 Blob 反序列化处理器
  4. 访问 Function 构造函数 —— 通过 constructor.constructor 链式访问 Function()
  5. 代码执行 —— 通过 child_process.execSync() 注入任意 JavaScript

攻击流程图

┌─────────────────────────────────────────────────────────────┐
│  Attacker sends multipart/form-data with Next-Action header │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Server deserializes payload via React Flight protocol      │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Fake chunk object with __proto__ pollution processed       │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Blob handler invokes _formData.get(_prefix + id)           │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Resolves to Function("malicious_code")                     │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Arbitrary code executed with Node.js process privileges    │
└─────────────────────────────────────────────────────────────┘

🚀 安装

环境要求

  • Python 3.7 或更高版本
  • requests 库

安装步骤

# Clone the repository
git clone https://github.com/yourusername/react2shell-poc.git
cd react2shell-poc

# Install dependencies
pip install -r requirements.txt

# Make script executable (Linux/macOS)
chmod +x react2shell.py

Requirements.txt

requests>=2.31.0
urllib3>=2.0.0

💻 使用方法

基本用法

python3 react2shell.py

交互式会话

╔═══════════════════════════════════════════════════════════╗
║           React2Shell (CVE-2025-55182) PoC                ║
║                 CVSS 10.0 - Critical RCE                  ║
║                                                           ║
║  Affected: React 19.0.0, 19.1.0, 19.1.1, 19.2.0          ║
║           Next.js ≥14.3.0-canary.77, 15.x, 16.x          ║
║                                                           ║
║  Cerberus Secure - Lab Use Only                          ║
╚═══════════════════════════════════════════════════════════╝

[?] Enter target information:
    Host (e.g., localhost or 192.168.1.100): localhost
    Port (e.g., 3000): 3000

[React2Shell]> id
[*] Target: http://localhost:3000/
[*] Command: id
[*] Building exploit payload...
[*] Sending exploit request...
[+] Response Status Code: 200
[*] Parsing response...

╔═══════════════════════════════════════════════════════════╗
║                    COMMAND OUTPUT                         ║
╚═══════════════════════════════════════════════════════════╝
uid=1000(node) gid=1000(node) groups=1000(node)

[React2Shell]> whoami
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> exit

示例命令

# System reconnaissance
[React2Shell]> id
[React2Shell]> whoami
[React2Shell]> uname -a
[React2Shell]> cat /etc/os-release

# File system exploration
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> cat package.json

# Environment variables (often contain secrets)
[React2Shell]> printenv
[React2Shell]> echo $PATH

# Network information
[React2Shell]> ifconfig
[React2Shell]> netstat -tulpn

可用命令

命令说明
<any shell command>在目标上执行命令
help显示帮助信息
exit / quit / q退出工具

🛡️ 检测

网络层检测(Snort v3)

部署以下 Snort 规则以检测利用尝试:

alert http any any -> $LAN_NETWORK any (
    msg:"Potential Next.js React2Shell / CVE-2025-55182 attempt";
    flow:to_server,established;
    content:"Next-Action"; http_header; nocase;
    content:"multipart/form-data"; http_header; nocase;
    pcre:"/Content-Disposition:\s*form-data;\s*name=\"0\"/s";
    pcre:"/\"status\"\s*:\s*\"resolved_model\"/s";
    pcre:"/\"then\"\s*:\s*\"\$1:__proto__:then\"/s";
    classtype:web-application-attack;
    sid:6655001;
    rev:1;
)

检测逻辑:

  • 监控 Next-Action 标头(RSC 特有)
  • 检测 multipart/form-data 载荷
  • 识别利用特有的模式:name="0"、status: "resolved_model"、then: "$1:__proto__:then"

端点检测(OSQuery)

使用以下 OSQuery 规则扫描存在漏洞的软件包版本:

{
  "queries": {
    "detect_react2shell_vulnerable_packages": {
      "query": "SELECT name, version, path FROM npm_packages WHERE (name='react-server-dom-parcel' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0')) OR (name='react-server-dom-turbopack' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0')) OR (name='react-server-dom-webpack' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0'));",
      "interval": 3600,
      "description": "Detects vulnerable versions of React Server Components packages affected by CVE-2025-55182",
      "platform": "linux,windows,macos",
      "version": "1.0"
    }
  }
}

优点:

  • 扫描端点以发现存在漏洞的软件包
  • 适用于开发、预生产和生产环境
  • 可集成到 CI/CD 流水线中
  • 在部署前提供早期预警

日志分析指标

下载工具