Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
react-cve-2025-55182 — 测试与分析 Next.js Server Actions 中的 CVE-2025-55182 漏洞 | Kitploit
工具/GitHubGitHub/niokagi/react-cve-2025-55182
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育Payload 开发实验室与实践
GitHubniokagi/react-cve-2025-55182

react-cve-2025-55182

测试与分析 Next.js Server Actions 中的 CVE-2025-55182 漏洞

查看仓库
8个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-55182: React/Next.js 测试

项目状态:实验性 / 概念验证

本仓库作为一个受控的研究环境和概念验证(PoC)框架,用于分析 CVE-2025-55182。它展示了 Next.js Server Actions 上下文中的原型污染漏洞,特别针对不安全的递归合并操作。

概述

核心漏洞存在于 Next.js Server Action(syncConfiguration)中实现的一个自定义 deepMerge 工具函数。该函数缺乏对特殊对象键(特别是 __proto__ 和 constructor)的充分清理。这一疏忽允许未经身份验证的攻击者向全局 Object.prototype 注入任意属性。

在服务器端 Node.js 运行时中,成功的原型污染可能导致:

  • 远程状态操纵:全局修改应用逻辑、授权标志(例如 isAdmin)或配置设置。
  • 拒绝服务(DoS):通过覆盖关键内部方法(如 toString 或 valueOf)破坏应用稳定性。
  • 潜在的远程代码执行(RCE):虽然此实验室主要演示状态操纵,但原型污染通常可以与其他工具(例如 child_process 或模板引擎中的工具)链式利用,实现任意代码执行。

仓库结构

  • lab/next-app/:一个存在漏洞的 Next.js 15 应用,用于模拟安全缺陷。
    • src/app/actions.jsx:包含易受攻击的 deepMerge 实现的服务器端代码。
  • exploits/:用于测试和利用的 Python 自动化脚本。
    • rce.py:自动化注入恶意 JSON 载荷以演示服务器状态污染的脚本。
    • get-shell.py:探索 RSC Flight 协议反序列化向量的高级 PoC。
  • docs/PAYLOADS.md:包含各种 JSON 载荷的参考文档,用于手动测试和分析。

使用说明

1. 环境搭建

您可以使用 Docker(推荐)或本地运行该实验室。

选项 A:Docker(推荐)

确保已安装 Docker 和 Docker Compose。

root@kitploit:~
docker-compose up --build

应用将在 http://localhost:3000 可访问。

选项 B:本地搭建

需要 Node.js 20+。

root@kitploit:~
cd lab/next-app
npm install
npm run dev

应用将在 http://localhost:3000 可访问。

2. 手动验证

  1. 导航至 http://localhost:3000。
  2. 从 docs/PAYLOADS.md 中选择一个载荷(例如,基本载荷)。
  3. 将载荷输入 "Config_Payload_Input" 字段,并通过 "Commit_Changes" 提交。
  4. 观察到 "RUNTIME_POLLUTION_DETECTED" 提示,表示利用成功。

3. 自动化利用

提供的 Python 脚本允许以编程方式验证漏洞。

前提条件: 从浏览器网络标签页(查找 POST 请求头 Next-Action)或服务器终端输出中获取 Next-Action ID。

使用 Docker(推荐)

  1. 进入攻击者容器:
root@kitploit:~
docker exec -it exploit-runner bash
  1. 导出 Action ID 并运行利用脚本:
root@kitploit:~
export ACTION_ID="your_action_id_here"
python3 rce.py "id"

使用本地 Python

  1. 安装依赖:
root@kitploit:~
pip install -r exploits/requirements.txt
  1. 运行利用脚本(将 ACTION_ID 设为环境变量或编辑脚本):
root@kitploit:~
export ACTION_ID="your_action_id_here"
python3 exploits/rce.py "id"

注意:rce.py 脚本配置为演示成功的状态污染。完整的 shell 执行取决于具体的环境工具,可能会有所不同。

免责声明

本项目仅用于教育目的和安全研究。

请勿在未获得明确书面授权的系统上使用此处提供的代码或技术。作者不对因使用本材料而导致的任何误用或损害负责。

下载工具