首页 渗透工具 正文

Next.js RSC RCE 扫描器:用 Burp Suite 扩展一键检测 CVE-2025-55182 远程代码执行漏洞

摘要

2025 年末爆出的 React2Shell(CVE-2025-55182 / CVE-2025-66478)让整个前端圈绷紧了神经:攻击者只需构造一个恶意 HTTP 请求,就能在运行 Next.js App Router 的服务器上远程执行代码,无需任何身份认证。对于渗透测试人员和甲方安全团队来说,快速、准确地确认资产是否受影响,成了最紧迫的任务。今天要介...

2025 年末爆出的 React2Shell(CVE-2025-55182 / CVE-2025-66478)让整个前端圈绷紧了神经:攻击者只需构造一个恶意 HTTP 请求,就能在运行 Next.js App Router 的服务器上远程执行代码,无需任何身份认证。对于渗透测试人员和甲方安全团队来说,快速、准确地确认资产是否受影响,成了最紧迫的任务。今天要介绍的这款 Next.js RSC RCE Scanner,正是一款专门为此打造的高保真 Burp Suite 扩展,它把繁琐的 React Server Components 漏洞验证流程压缩成了右键一次点击。

Wiz Research 绘制的 React2Shell 在野利用攻击链

产品介绍

Next.js RSC RCE Scanner 是一款开源的 Java 版 Burp Suite 扩展,专注于检测 Next.js / React Server Components(RSC)远程代码执行漏洞,覆盖 CVE-2025-55182CVE-2025-66478 两个编号。它完整实现了 Searchlight Cyber 安全研究团队公开的检测逻辑:向目标发送一个精心构造的格式错误 multipart 请求,触发 RSC 流中 undefined 对象的属性访问崩溃,再根据服务器的错误响应特征判定目标是否存在漏洞。

漏洞的关键信息如下:

项目 说明
CVE 编号 CVE-2025-55182、CVE-2025-66478
严重程度 高 / 危急
受影响软件 Next.js(默认 App Router 配置)
根本原因 react-server-dom-parcelreact-server-dom-turbopackreact-server-dom-webpack 在处理恶意 multipart 流时,对冒号分隔的属性访问处理不当,导致服务器崩溃并可能引发远程代码执行

Trend Micro 绘制的 React2Shell 利用与攻击载荷投递流程

核心功能

这款 Burp 扩展把"检测 RCE 漏洞"这件事做到了开箱即用,几个核心能力相互配合:

  • 高保真判定:不是简单地看状态码,而是同时校验 RSC 错误特征签名 E{"digest" 和 HTTP 500 响应,双重条件过滤误报,结果更可信。
  • 主动扫描集成:直接接入 Burp 的 Active Scanner,跑常规主动扫描时自动捎带检测该漏洞,无需额外配置。
  • 手动定点扫描:在 Proxy History 或 Repeater 中右键任意请求,即可对当前目标显式执行一次漏洞扫描,适合针对单个接口深入验证。
  • 报告信息完整:发现问题后会在 Dashboard 生成结构化条目,附带 HTML 格式描述、参考链接和修复建议,写渗透报告时可直接引用。
  • 安全无害的检测载荷:载荷只做检测——它触发的是崩溃或错误路径,不会在目标服务器上执行任何有害代码,授权测试场景下风险可控。

技术优势

市面上针对 React2Shell 的扫描脚本不少,但这款扩展在工程细节上做了不少取舍:

  1. 检测逻辑有出处:直接落地 Searchlight Cyber 公开的高保真检测机制,而不是凭感觉拼凑 payload,检测结果经得起复核。
  2. 双重条件降噪:单看 500 错误会把大量普通报错页面误判成漏洞,扩展要求 E{"digest" 特征签名与 500 状态码同时出现,误报率被压到很低。
  3. 与渗透工作流无缝衔接:渗透测试本就在 Burp 里进行,装上扩展后检测动作不切换工具、不中断思路,右键即测。
  4. 纯检测、不越界:只触发错误不执行代码,既符合授权测试的合规边界,也避免了对生产环境造成二次伤害。
  5. 纯 Java 实现、跨平台:基于 Java 编写,Windows、Linux、macOS 上的 Burp Suite 都能加载同一个 JAR 文件。

安装与使用教程

安装扩展

  1. 前往项目的 Releases 页面下载最新的 JAR 文件,也可以按下一节的步骤自行编译;
  2. 打开 Burp Suite,进入 Extensions > Installed
  3. 点击 Add,扩展类型选择 Java
  4. 选中 NextJsRceScanner-1.0-SNAPSHOT.jar 文件完成加载。

扫描目标

  1. 在 Burp Suite 中正常访问目标 Next.js 应用,让请求进入 Proxy History;
  2. 在代理历史或 Repeater 中右键任意请求(例如 GET /);
  3. 选择 Extensions > Next.js RSC RCE Scanner > Scan
  4. 切换到 DashboardTarget 选项卡查看结果;
  5. 若目标存在漏洞,会报出一条高危问题,标题为 "Next.js RSC Remote Code Execution (CVE-2025-55182)"。

PortSwigger 官方博客的 React2Shell 检测专题头图

从源码构建

构建本项目需要 Java JDK 21+。先克隆仓库:

git clone https://github.com/tobiasGuta/Next.js-RSC-RCE-Scanner-Burp-Suite-Extension.git
cd Next.js-RSC-RCE-Scanner-Burp-Suite-Extension

使用 Gradle 构建:

# Linux/Mac
./gradlew clean build

# Windows
gradlew.bat clean build

编译完成后,扩展 JAR 文件位于:

build/libs/NextJsRceScanner-1.0-SNAPSHOT.jar

项目仓库中还附带了概念验证录屏(Screen.Recording.2025-12-04.144913.mp4),安装前可以先观看完整演示。

应用场景

GreyNoise 观测到的 CVE-2025-55182 在野攻击 IP 数量统计

  • 授权渗透测试:在对基于 Next.js 的站点做安全评估时,把 RSC RCE 检测纳入常规主动扫描流程,高危漏洞不再依赖手工构造 payload 才能发现。
  • 企业资产摸底:安全团队可以借助 Burp 批量梳理内部 Next.js 应用,快速圈定受 CVE-2025-55182 / CVE-2025-66478 影响的资产,为升级修复排定优先级。
  • 漏洞验证与报告输出:扩展生成的 Dashboard 条目自带参考资料和修复步骤,渗透测试人员可直接将其整理进交付报告,减少重复劳动。
  • 安全研究与教学:对想了解 React Server Components 协议缺陷的研究者而言,这是一个观察 RSC 错误签名与崩溃行为的直观样本。

总结

React2Shell 的影响面大、利用门槛低,用高保真工具做一轮全面排查是性价比极高的动作。Next.js RSC RCE Scanner 把 Searchlight Cyber 的检测逻辑封装成 Burp 扩展,兼顾了主动扫描的自动化和右键扫描的灵活性,配合无害载荷与低误报判定,适合渗透测试和企业自查等多种场景。

如果你的测试目标里跑着 Next.js App Router 应用,不妨装上这个扩展,跑一次扫描确认资产是否还暴露在风险之中。

收藏 0
评论
博主关闭了评论
友情链接