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

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

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

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

工具目录

分类

查看所有分类
Loading categories
PunchingBag-for-React2Shell — 专为CVE-2025-55182安全研究与CTF挑战设计的故意存在漏洞的Next.js应用 | Kitploit
工具/GitHubGitHub/machine-farmer/punchingbag-for-react2shell
漏洞分析漏洞利用Web应用程序漏洞利用CTF渗透测试学习与教育红队远程访问工具实验室与实践

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubmachine-farmer/punchingbag-for-react2shell

PunchingBag-for-React2Shell

专为CVE-2025-55182安全研究与CTF挑战设计的故意存在漏洞的Next.js应用

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

🥊 PunchingBag - CVE-2025-55182 安全研究平台

Next.js React Docker License CVE PunchingBag Platform

⚠️ 仅用于教育目的:这是一个故意存在漏洞的应用程序,设计用于授权的安全研究和CTF挑战。请勿在未经授权的系统上使用这些技术。

一个故意存在漏洞的 Next.js 15.1.6 应用程序,演示了 CVE-2025-55182(React2Shell)——React Server Components 中的一个严重远程代码执行漏洞。专为安全研究员、渗透测试人员和学生在安全、隔离的环境中练习利用技术而构建。


📋 目录

  • 关于 CVE-2025-55182
  • 特性
  • 前提条件
  • 安装
  • 使用
  • CTF 挑战
  • 利用指南
  • 项目结构
  • 安全声明
  • 贡献
  • 许可证
  • 致谢

🔍 关于 CVE-2025-55182

CVE-2025-55182,也称为 React2Shell,是一个影响 Next.js 中 React Server Components 的严重远程代码执行 (RCE) 漏洞。

漏洞详情

  • CVE ID:CVE-2025-55182
  • 类型:远程代码执行 (RCE)
  • CVSS 评分:10.0(严重)
  • 受影响版本:启用了 React Server Components 的 Next.js 15.1.6 及更早版本
  • 攻击向量:RSC Flight 协议中的不安全反序列化
  • 影响:完全系统入侵、数据泄露、权限提升

工作原理

该漏洞源于 React Server Actions 中对序列化数据的不当处理。攻击者可以构造恶意负载,绕过验证并在服务器上执行任意代码,通过:

  1. JavaScript 对象的原型污染
  2. React Flight 负载的不安全反序列化
  3. Server Action 参数操纵
  4. Server Components 中的头部注入

✨ 特性

  • 🐳 完全 Docker 化 - 与主机系统完全隔离
  • 🎯 5 个 CTF 旗帜 - 渐进难度挑战
  • 🔓 多种攻击向量 - Server Actions、API 路由、认证绕过
  • 📚 教育资源 - 内置提示和利用指南
  • 🛡️ 安全环境 - 不对生产系统造成风险
  • 🎨 逼真应用程序 - 带有管理面板的真实应用主题
  • 📊 进度追踪 - 监控您捕获的旗帜
  • 🔧 存在漏洞的 React 和 Next.js 版本 - React 19.0.0、Next.js 15.1.6

🔧 前提条件

开始之前,请确保已安装以下内容:

  • Docker:版本 20.10 或更高
  • Docker Compose:版本 2.0 或更高
  • Git:用于克隆仓库

检查您的安装

root@kitploit:~
docker --version
docker-compose --version
git --version

📦 安装

快速开始

root@kitploit:~
# 1. 克隆仓库
git clone https://github.com/Machine-farmer/PunchingBag-for-React2Shell.git
cd PunchingBag-for-React2Shell

# 2. 使用 Docker 构建并运行
docker-compose up --build

# 3. 访问应用程序
# 在浏览器中打开:http://localhost:3000

手动设置(不使用 Docker)

root@kitploit:~
# 1. 克隆仓库
git clone https://github.com/Machine-farmer/punchingbag-cve-2025-55182.git
cd punchingbag-cve-2025-55182

# 2. 安装依赖
npm install

# 3. 运行开发服务器
npm run dev

# 4. 访问 http://localhost:3000

⚠️ 警告:不建议安全研究使用手动设置(无 Docker)。始终使用 Docker 进行隔离。


🚀 使用

启动环境

root@kitploit:~
# 启动存在漏洞的应用程序
docker-compose up

# 以分离模式启动(后台)
docker-compose up -d

# 查看日志
docker-compose logs -f

停止环境

root@kitploit:~
# 停止容器
docker-compose down

# 停止并移除卷
docker-compose down -v

# 完全清理(移除镜像)
docker-compose down -v --rmi all

访问应用程序

运行后,导航到:

  • 首页:http://localhost:3000
  • 仪表板:http://localhost:3000/dashboard
  • 管理面板:http://localhost:3000/admin

🎯 CTF 挑战

PunchingBag 包含 5 个隐藏旗帜,测试不同的利用技术:

旗帜格式

所有旗帜遵循格式:CTF{description_here}

提示

  • 旗帜 1:探索应用程序结构和仪表板
  • 旗帜 2:查找接受用户输入的 Server Actions
  • 旗帜 3:检查环境变量中的凭证
  • 旗帜 4:利用管理控制台中的 RCE 漏洞
  • 旗帜 5:提取隐藏的配置数据

🔓 利用指南

您需要的工具

  • Burp Suite - HTTP 请求拦截和修改
  • curl - 命令行 HTTP 客户端,用于构造负载
  • 浏览器 DevTools - 网络流量检查
  • Postman - API 测试(可选)

基本利用工作流程

1. 侦察

root@kitploit:~
# 探索应用程序
curl http://localhost:3000

# 检查可用端点
curl http://localhost:3000/dashboard
curl http://localhost:3000/admin

2. Server Action 利用

拦截表单提交并修改负载:

root@kitploit:~
// 示例恶意负载
{
  "name": "attacker",
  "email": "[email protected]",
  "message": "__proto__: { isAdmin: true }"
}

3. 头部注入

root@kitploit:~
# 注入恶意头部
curl -X POST http://localhost:3000/api/data \
  -H "Content-Type: application/json" \
  -H "x-user-data: {\"role\":\"admin\"}" \
  -d '{"exploit": true}'

4. 管理员访问

检查 .env.local 获取凭证或利用认证:

root@kitploit:~
# 默认管理员令牌(故意弱)
用户名:admin
令牌:super_secret_admin_key_12345

5. 远程代码执行

在存在漏洞的组件上使用命令执行功能:

root@kitploit:~
# 模拟 RCE
命令:cat /flag.txt

高级技术

  • 原型污染:注入 __proto__ 属性
  • RSC 负载构造:修改 React Flight 序列化数据
  • 会话劫持:操纵认证令牌
  • API 模糊测试:测试所有端点的漏洞

📁 项目结构

root@kitploit:~
punchingbag-cve-2025-55182/
├── app/
│   ├── actions.js              # 存在漏洞的 Server Actions
│   ├── layout.js               # 应用程序布局
│   ├── page.js                 # 带有 CTF 信息的首页
│   ├── globals.css             # 全局样式
│   ├── admin/
│   │   └── page.js            # 管理面板(旗帜 3、4)
│   ├── dashboard/
│   │   └── page.js            # 用户仪表板(旗帜 1、2)
│   └── api/
│       ├── data/
│       │   └── route.js       # API 端点
│       └── submit/
│           └── route.js       # 表单提交端点
├── components/
│   ├── Logo.js                # 应用程序标志
│   ├── VulnerableForm.js      # 可利用的表单组件
│   └── UserDisplay.js         # 用户资料展示
├── lib/
│   └── flags.js               # 旗帜管理
├── public/
│   └── boxing-bag.png         # 应用程序图标
├── .env.local                 # 环境变量(旗帜 5)
├── docker-compose.yml         # Docker 配置
├── Dockerfile                 # 容器定义
├── next.config.js             # Next.js 配置
├── package.json               # 依赖项
└── README.md                  # 本文档

🛡️ 安全声明

⚠️ 重要免责声明

该应用程序是故意存在漏洞的,设计用于:

✅ 授权用途:

  • 安全研究和教育
  • 渗透测试技能发展
  • CTF 竞赛和培训
  • 网络安全学术课程
  • 漏洞评估实践

❌ 禁止用途:

  • 在未经明确授权的系统上进行测试
  • 任何形式的生产部署
  • 对真实系统的恶意攻击
  • 为非法目的分发利用工具

法律合规

  • 始终获得书面许可后再测试您不拥有的系统
  • 对真实漏洞遵循负责任披露实践
  • 遵守关于安全测试的当地法律和法规
  • 尊重所有系统和平台的服务条款

隔离要求

  • 始终使用 Docker 运行以实现适当隔离
  • 切勿将端口 3000 暴露到公共互联网
  • 仅在受控实验室环境中使用
  • 研究结束后停止/销毁容器
root@kitploit:~
# 使用后正确清理
docker-compose down -v --rmi all

🤝 贡献

欢迎贡献!请遵循以下指南:

如何贡献

  1. Fork 该仓库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推送到分支(git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

贡献想法

  • 添加新的利用挑战
  • 改进文档
  • 创建视频教程
  • 添加新的漏洞演示
  • 改进 UI/UX
  • 编写自动化利用脚本

行为准则

  • 保持尊重和专业
  • 专注于教育价值
  • 不要添加恶意代码
  • 提交前彻底测试

📜 许可证

该项目根据 MIT 许可证 授权 - 详见 LICENSE 文件。

第三方资源

  • 沙袋图标来自 Flaticon(带有归属的免费许可证)

🙏 致谢

  • Next.js 团队 - 提供框架(并修补了漏洞)
  • React 团队 - 提供 React Server Components
  • 安全研究员 - 发现并披露了 CVE-2025-55182
  • CTF 社区 - 提供灵感和方法论
  • OWASP - 提供安全测试指南

教育资源

  • OWASP Top 10
  • PortSwigger Web Security Academy

📞 联系与支持

  • 问题:GitHub Issues
  • 讨论:GitHub Discussions

🔄 更新与变更日志

版本 1.0.0(2025 年 12 月)

  • 初始发布
  • 5 个 CTF 挑战
  • Docker 支持
  • 完整文档

⭐ 星标历史

如果该项目帮助您学习了 Web 安全,请考虑给它一个星标!⭐


用 🥊 为安全研究打造

记住:能力越大,责任越大。道德或不道德地使用你的技能,开玩笑😁,切勿不道德使用。

报告 Bug · 请求功能 · 文档

下载工具
旗帜挑战难度积分
🚩 旗帜 1基础侦察简单100
🚩 旗帜 2Server Action 利用中等200
🚩 旗帜 3管理员访问绕过中等300
🚩 旗帜 4远程代码执行困难400
🚩 旗帜 5环境秘密中等250