MuharremK0/Info-Sys-Security-CVE-2025-55182

GitHub: MuharremK0/Info-Sys-Security-CVE-2025-55182

这是一个基于 Docker 的本地安全实验室,用于模拟和分析 CVE-2025-55182 漏洞的利用与修复过程。

Stars: 0 | Forks: 0

# CVE-2025-55182 安全实验室 (“React2Shell”) 此仓库包含一个用于在受控的 React Server Components 环境中分析 `CVE-2025-55182` 的本地学术实验室。该实验室模拟了该漏洞、其利用方式以及应用的补丁。 ## 📁 仓库布局 ### 核心应用程序 - **`app/vulnerable/`**: 漏洞版 React 应用程序配置。 - `src/framework/entry.rsc.tsx`: 包含**不安全的反序列化**点,其中 `__flight_action` 负载通过 `execSync()` 执行。 - 模拟未打补丁的 `react-server-dom-webpack@19.0.0` 的行为。 - **`app/patched/`**: 补丁版 React 应用程序配置。 - `src/framework/entry.rsc.tsx`: 包含**缓解逻辑**,在反序列化前以 403 响应阻止 `__flight_action` 负载。 ### 基础设施与执行 - **`infra/`**: 用于隔离执行的 Docker 配置。 - `docker-compose.yml`: 启动漏洞版(端口 3100)和补丁版(端口 3200)配置。 - **`scripts/`**: 自动化脚本和利用脚本。 - `exploit-shell.ps1`: 一个**交互式利用 shell**,利用该漏洞提供模拟的远程终端 (`root@container$`)。 - `run-scenarios.ps1`: 用于执行 `tests/run-scenarios.mjs` 中自动化评估测试的包装脚本。 - `start-lab.ps1`: 用于快速启动 Docker Compose 环境的辅助脚本。 - `stop-lab.ps1`: 用于关闭和清理 Docker Compose 环境的辅助脚本。 - `demo-lab.ps1`: 备用演示脚本,在本地(不使用 Docker)运行两个应用程序并发送一系列测试请求。 ### 文档与评估 - **`report/`**: 包含最终分析报告。 - `findings.md`: 全面的安全报告,涵盖攻击链、CVSS 分析、评估指标和缓解建议。 - `CSE472_ProjectProposal_Revised.md`: 修订后的项目提案和方法论文档。 - **`tests/`**: 自动化评估。 - `run-scenarios.mjs`: Node.js 脚本,针对两个配置运行正常、可疑和利用场景,计算成功率和检测率。 - **`logs/`**: 遥测输出。 - `vulnerable-requests.log` 和 `patched-requests.log`: 存储详细的请求跟踪,包括用于分析的 `suspiciousReasons`。 ## 🚀 快速入门指南(适用于下载的压缩包) 如果您已从 GitHub 下载了此项目(`.zip` 文件),请按照以下步骤操作,在本地机器上运行实验室并与漏洞模拟进行交互。 ### 前置条件 1. 已安装并运行 **Docker Desktop**。 2. 已安装 **Node.js**(v18 或更高版本)以运行测试脚本。 3. **PowerShell**(Windows 默认可用)。 ### 第一步:解压并打开 将 `.zip` 文件解压到您选择的文件夹。打开 PowerShell 窗口并导航到解压后的项目文件夹: ``` cd path\to\extracted\folder ``` ### 第二步:启动实验室环境 我们使用 Docker 安全地隔离漏洞应用程序。使用提供的辅助脚本启动容器: ``` .\scripts\start-lab.ps1 ``` *(或者,您可以手动运行 `cd infra; docker-compose up --build -d`)* 启动后: - 漏洞应用运行在 `http://localhost:3100` - 补丁应用运行在 `http://localhost:3200` ### 第三步:访问交互式利用 Shell 环境运行后,您可以通过启动我们模拟的利用 shell 来测试远程代码执行(RCE)漏洞。打开一个新的 PowerShell 选项卡/窗口并运行: ``` .\scripts\exploit-shell.ps1 ``` 此脚本作为攻击者向 `.rsc` 端点发送特制的负载。尝试运行以下命令: - `whoami` - `ls /workspace` - `env` - `cat /etc/passwd` **要测试补丁版本:** ``` .\scripts\exploit-shell.ps1 -Target "http://localhost:3200" ``` *您会注意到补丁版本阻止了请求并返回 `[BLOCKED]` 消息。* ### 第四步:运行自动化场景 要生成评估指标(成功率、检测率),请运行 Node.js 测试脚本: ``` node .\tests\run-scenarios.mjs ``` *(或使用包装脚本:`.\scripts\run-scenarios.ps1`)* 这将在控制台输出摘要,并在 `tests/results/scenario-report.json` 中保存详细的 JSON 报告。 ### 第五步:停止实验室 当您完成实验后,可以安全地关闭容器以释放资源: ``` .\scripts\stop-lab.ps1 ```
标签:AI合规, CMS安全, CVE-2025-55182, Docker, GNU通用公共许可证, IPv6, JavaScript, MITM代理, Node.js, PowerShell, React, Syscalls, TypeScript, Webpack, 利用开发, 反取证, 反序列化漏洞, 命令注入, 安全实验室, 安全插件, 安全补丁, 安全评估, 安全防御评估, 服务器端渲染, 漏洞分析, 漏洞模拟, 编程工具, 网络安全, 脚本语言, 请求拦截, 路径探测, 远程代码执行, 隐私保护