React Server Components 远程RCE利用工具
📖 工具简介
React Server Components 远程RCE利用工具是一款专门针对 React Server Components 和 Next.js 框架远程代码执行漏洞的安全测试工具,提供图形化操作界面,支持多种攻击模式和批量检测功能。
⚠️ 免责声明:本工具仅供授权的安全测试和CTF竞赛使用,严禁用于非法攻击。使用本工具造成的任何后果由使用者自行承担。
🎯 漏洞影响范围
React Server 受影响版本
- React Server 19.0.0
- React Server 19.0.1 (注:部分早期补丁未完全覆盖)
- React Server 19.1.* (所有 19.1.x 版本)
- React Server 19.2.0
Next.js 受影响版本
- Next.js v15.0.0 - v15.0.4
- Next.js v15.1.0 - v15.1.8
- Next.js v15.2.x - v15.5.6
- Next.js v16.0.0 - v16.0.6
- Next.js v14.3.0-canary.77 及以上 Canary 版本
其他受影响组件
- Dify - AI 应用开发平台
- NextChat - 聊天应用框架
- 其他基于受影响版本 React Server Components 或 Next.js 构建的应用程序
注意:如果你的应用程序使用了上述任何版本,建议立即升级到安全版本或采取相应的防护措施。
✨ 功能特性
🎯 核心功能
- 漏洞检测:快速检测目标是否存在 React Server Components / Next.js RCE 漏洞
- 命令回显:直接执行系统命令并获取回显结果
- 内存马注入:在目标服务器注入持久化 Webshell
- 反弹Shell:获取目标系统的交互式Shell
- 批量扫描:支持批量检测多个目标URL,快速识别脆弱系统
🔧 辅助功能
- 代理支持:支持配置HTTP代理(如Burp Suite),方便流量分析
- 自定义请求头:可添加自定义HTTP请求头,绕过简单防护
- 实时日志:操作日志实时显示,方便追踪测试过程
- 超时设置:可自定义请求超时时间,适应不同网络环境
🚀 快速开始
环境要求
- Java 8 或更高版本
- Windows / Linux / macOS 操作系统
启动工具
-
双击运行 React Server Components 远程RCE.jar 文件
-
或通过命令行启动:
java -jar React Server Components 远程RCE.jar
-
首次启动会显示免责声明,请仔细阅读并同意后继续使用
📋 使用指南
1️⃣ 基础配置
在使用任何功能前,需要先配置基础信息:
- 目标URL:输入要测试的目标网站地址(例如:
http://192.168.1.100:3000)
- 攻击路径:应用的路径(默认:
/apps,可根据目标调整)
- 超时时间:请求超时秒数(默认:30秒)
- 自定义请求头:可选,每行一个,格式为
Header-Name: value
2️⃣ 漏洞检测
- 填写好目标URL和基础配置
- 点击"测试漏洞"按钮
- 等待检测结果,工具会自动判断目标是否存在漏洞
提示:建议先进行漏洞检测,确认目标存在漏洞后再进行后续操作。
🎮 攻击模式详解
模式一:命令回显
适用场景:需要执行系统命令并查看执行结果
使用步骤:
- 切换到"命令回显"选项卡
- 在命令输入框中输入要执行的命令(例如:
whoami、ipconfig、ls -la)
- 点击"执行命令"按钮
- 在下方文本区域查看命令执行结果
常用命令示例:
- Windows:
whoami、ipconfig、dir、net user
- Linux:
whoami、ifconfig、ls -la、uname -a
模式二:内存马注入
适用场景:需要在目标服务器留下持久化后门
使用步骤:
-
切换到"内存马注入"选项卡
-
设置内存马访问路径(例如:/exec)
-
点击"注入内存马"按钮
-
注入成功后,可通过以下方式执行命令:
访问:http://目标地址/exec?cmd=whoami
使用说明:
- 内存马会在目标应用的内存中注册,不会在磁盘留下文件
- 服务器重启后内存马会失效
- 通过URL参数
cmd 传递要执行的命令
模式三:反弹Shell
适用场景:需要获取目标系统的交互式Shell
使用步骤:
-
在本地机器启动监听(例如使用netcat):
nc -lvnp 4444
-
切换到"反弹Shell"选项卡
-
填写监听IP(你的机器IP地址)
-
填写监听端口(例如:4444)
-
点击"发送反弹Shell"按钮
-
回到netcat窗口,等待Shell连接
注意事项:
- 确保目标服务器可以访问到你的监听IP和端口
- 防火墙需要允许对应端口的入站连接
- 在实际环境中可能受到网络策略限制
模式四:批量检测
适用场景:需要对多个目标进行漏洞批量扫描
使用步骤:
- 切换到"批量检测"选项卡
- 在文本框中输入目标URL列表(每行一个)
- 点击"开始扫描"按钮
- 查看扫描结果,工具会标注存在漏洞的目标
⚙️ 高级配置
配置HTTP代理
用于将流量转发到Burp Suite等抓包工具,方便分析请求和响应。
配置步骤:
- 点击顶部菜单"设置" → "代理设置"
- 选择"启用"
- 填写代理主机(例如:
127.0.0.1)
- 填写代理端口(例如:
8080)
- 点击"保存"
Burp Suite配置:
- 确保Burp Suite的代理监听器已启动
- 默认监听地址:
127.0.0.1:8080
- 在Burp中可以拦截和修改工具发送的所有请求
代理状态查看:
- 配置完成后,界面右上角会显示代理状态
- 绿色表示已启用,灰色表示未配置
🛡️ 安全建议
- 仅在授权环境使用:确保你有明确的授权才能对目标进行测试
- 不要用于生产环境:避免对生产系统造成损害
- 保护测试数据:测试过程中获取的敏感信息要妥善保管
- 遵守法律法规:未经授权的渗透测试可能触犯法律
- CTF竞赛使用:本工具适合在CTF、靶场等合法环境中使用
❓ 常见问题
Q1: 提示"未检测到漏洞"怎么办?
可能原因:
- 目标URL不正确或服务未启动
- 目标不存在该漏洞
- 攻击路径配置错误
- 网络不通或被防火墙拦截
解决方法:
- 检查目标URL是否可以正常访问
- 尝试调整攻击路径参数
- 检查网络连接和代理设置
Q2: 命令执行没有回显?
可能原因:
- 命令执行成功但没有输出(如某些写文件命令)
- 目标系统权限限制
- 命令语法错误
解决方法:
- 尝试执行有明确输出的命令(如
id)
- 检查命令语法是否正确
- 查看底部日志区域的详细信息
Q3: 反弹Shell连接失败?
可能原因:
- 目标无法访问你的监听IP
- 防火墙阻止连接
- 端口被占用
解决方法:
- 确认监听服务已启动(
nc -lvnp 端口)
- 检查防火墙设置,允许对应端口
- 确保IP地址填写正确(如果目标和你在同一内网,使用内网IP)
Q4: 如何查看详细的请求和响应?
解决方法:
- 配置HTTP代理(如Burp Suite)
- 在代理工具中查看完整的HTTP流量
- 底部日志区域也会显示关键信息
📞 技术支持
📜 版权声明
本工具仅供学习和授权安全测试使用。使用本工具所造成的一切后果由使用者自行承担,开发者不承担任何责任。
请遵守网络安全法及相关法律法规,做一个有道德的安全研究者!
祝你测试顺利! 🎉