DonutMaster/React2Shell-Vulnerability-Detection-Scanner

GitHub: DonutMaster/React2Shell-Vulnerability-Detection-Scanner

针对 React SSR 应用「React2Shell」攻击面的被动式漏洞检测扫描器,帮助防御者在无需发起攻击的前提下识别远程代码执行风险指标。

Stars: 0 | Forks: 0

# React2Shell — 漏洞检测扫描器 ## 什么是 React2Shell? React2Shell 指的是一类影响基于 React 的 Web 应用程序的漏洞, 这些应用程序在配置错误或过时的环境中运行服务器端渲染 (SSR)。当 被恶意攻击者利用时,这些条件可能导致在 服务器上执行远程代码。此扫描器可帮助防御者和研究人员**识别目标是否表现出**与此攻击面相关的指标,而无需执行任何利用行为。 ![React2Shell Explainer](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a56d808a59002726.png) ## 功能 | 标志 | 描述 | |---|---| | `--url` | 目标 URL(必填) | | `--port` | 覆盖端口(例如 `3000`、`8080`) | | `--timeout` | 请求超时时间(秒)(默认值:`8`) | | `--output` | 将调查结果保存为 JSON 报告 | | `--verbose` | 实时打印每项检查结果 | | `--no-ssl-verify` | 禁用 SSL 证书验证 | | `--skip-endpoints` | 跳过探测调试/危险的端点路径 | | `--user-agent` | 自定义 User-Agent 字符串 | ## 检测项目 扫描器执行以下**被动**检查: 1. **React Header 指纹识别** — 检测特定于 React/Next.js/Remix 的 HTTP 响应头 2. **React Body 指纹识别** — 检测 HTML/JS 源码中的 React 运行时模式 3. **SSR 标记检测** — 识别服务器端渲染指标(攻击面先决条件) 4. **易受攻击的版本字符串** — 匹配已知易受攻击的 React 范围中的版本模式 5. **危险端点暴露** — 探测暴露的调试/开发端点(仅限 HEAD 请求) 6. **安全 Header 缺失** — 检查是否缺失 CSP、HSTS、X-Frame-Options 等 7. **错误信息披露** — 检查 404 响应是否泄露了堆栈跟踪或框架内部信息 ## 风险评分 调查结果按严重程度加权: | 严重程度 | 权重 | |---|---| | High | 10 | | Medium | 5 | | Low | 1 | | Info | 0 | 最终风险等级:`NONE` / `LOW` / `MEDIUM` / `HIGH` / `CRITICAL` ## 安装 ``` git clone https://github.com/yourname/react2shell-scanner cd react2shell-scanner pip install -r requirements.txt ``` ## 用法示例 ``` # 基础扫描 python scanner.py --url https://target.com # 在非标准端口上进行扫描并输出详细信息 python scanner.py --url http://192.168.1.10 --port 3000 --verbose # 将结果保存为 JSON python scanner.py --url https://target.com --output results.json # 跳过 SSL 验证 (自签名证书) python scanner.py --url https://target.com --no-ssl-verify # 跳过端点探测 python scanner.py --url https://target.com --skip-endpoints ``` ## 示例输出 ``` [*] Target : https://example.com [*] Host : example.com:443 [+] Port 443 is open. [+] HTTP 200 — 42381 bytes [*] Running detection checks... HIGH findings (2): • [ssr_detected] SSR markers found: ['data-reactroot', ''] • [dangerous_endpoint_exposed] Endpoint /_next/webpack-hmr responded with HTTP 200 MEDIUM findings (1): • [error_disclosure] 404 response may leak stack trace LOW findings (2): • [missing_security_header] Missing CSP • [missing_security_header] Missing HSTS Risk Score : 27 Risk Level : CRITICAL ``` ## 道德使用与法律声明 此工具旨在用于: - 评估其**拥有**的系统的安全研究人员 - 具有**书面授权**的渗透测试人员 - 审计自身基础设施的防御人员 - AI 辅助防御工具的教育演示 **请勿对您不拥有或未获得明确测试许可的系统使用此工具。** 未经授权的扫描可能违反《计算机欺诈和滥用法》(CFAA)、英国《计算机滥用法》以及您所在司法管辖区的相关法律。 ## AI 的使用方式 此工具是在 Claude (Anthropic) 的协助下生成的,旨在演示 AI 如何加速**防御性**安全工具的发展 —— 具体包括:检测逻辑、 模式匹配、风险评分和报告生成 —— 而无需生成漏洞利用代码。上图由 ChatGPT 5.3 (OpenAI) 生成。 ## 许可证 MIT 许可证。有关详细信息,请参阅 `LICENSE`。
标签:C++17, C2日志可视化, CISA项目, HTTP头分析, RCE检测, React, React2Shell, Remix, SSR, Syscalls, TLS, Web安全, 代码安全, 加密, 安全基线检查, 密码管理, 指纹识别, 插件系统, 攻击面评估, 数据展示, 数据统计, 服务端渲染, 检测工具, 漏洞扫描器, 漏洞枚举, 版本探测, 端口扫描, 红队, 编程工具, 网络安全, 蓝队分析, 远程代码执行, 逆向工具, 错误页面泄露, 防御工具, 隐私保护