React2Shell (CVE-2025-55182) Exploit
提供交互式shell的Python脚本,用于利用易受攻击的React Server Components和Next.js应用程序中的关键RCE漏洞(CVE-2025-55182)。该漏洞利用针对反序列化缺陷,允许未经身份验证的远程代码执行。它包含一个用于添加WAF绕过技术的模块化系统。
[!NOTE] 此漏洞利用工具旨在与易受攻击的RSC协议端点交互。执行结果通过服务器的响应机制捕获。不产生输出结果的命令将返回
(empty)。
[!CAUTION] 此代码仅用于研究和教育目的。旨在帮助理解、检测和修复CVE-2025-55182漏洞。请勿在未经明确授权的情况下将其用于任何系统。
使用此脚本的风险由用户自行承担,作者不对任何滥用或意外后果负责。
使用此代码即表示用户确认并同意以下条款:
- 用户对因使用此脚本而产生的任何法律后果负全部责任。
- 用户不会因使用此代码而追究作者的任何损害、损失或法律责任。
- 用户同意遵守所有适用的法律法规。
- 用户承认在未经许可的情况下针对系统使用此脚本可能违反法律和服务条款,并可能导致严重的处罚。
- 建议用户在使用此代码前咨询自己的法律顾问。
此漏洞利用工具具有动态WAF绕过模块系统。模块以单独的Python文件形式存储在waf_modules目录中。每个模块必须定义一个modify_request(body, headers)函数,该函数接收默认的请求体和请求头,根据需要修改以进行绕过,并返回新的body, headers。
waf_modules目录中创建一个新的Python文件(例如bypass_custom.py),其中包含modify_request函数。--help标志运行脚本以查看可用的绕过选项(例如,--bypass-custom对应bypass_custom.py)。使用相应的标志来激活模块。示例: 包含一个bypass_vercel.py模块作为示例,实现了可能对Vercel部署有效的技术。
--modify-request)该脚本允许直接修改用于发起HTTP请求的requests.Session对象的某些属性。这提供了对SSL验证、超时以及可能的其他会话级别设置的精细控制。
--modify-request <KEY> <VALUE>标志。<KEY>对应于requests.Session对象的属性(例如verify、timeout)。<VALUE>进行基本类型转换:true/false变为布尔值,数字字符串变为整数或浮点数,否则保持字符串形式。--modify-request verify True--modify-request verify False(等同于旧的--insecure标志)python CVE-2025-55182.py --help-modify-request查看常用选项的树状可视化。requirements.txt)python -m venv venv和source venv/bin/activate,在Windows上运行venv\Scripts\activate)。
pip install -r requirements.txt
waf_modules目录:
mkdir waf_modules
bypass_vercel.py)放置在此目录中。设置易受攻击的环境(仅用于测试):
docker run --rm -p 127.0.0.1:3000:3000 ghcr.io/l4rm4nd/cve-2025-55182:latest
执行脚本:
python CVE-2025-55182.py --help # 查看所有选项,包括WAF绕过
# 使用绕过模块的示例:
python CVE-2025-55182.py --host 127.0.0.1 --port 3000 --endpoint / --bypass-vercel
如果未使用命令行参数,脚本将交互式地提示输入主机、端口和端点。
与shell交互:
exit或quit以终止shell会话。