DonutMaster/React2Shell-Vulnerability-Detection-Scanner
GitHub: DonutMaster/React2Shell-Vulnerability-Detection-Scanner
针对 React SSR 应用「React2Shell」攻击面的被动式漏洞检测扫描器,帮助防御者在无需发起攻击的前提下识别远程代码执行风险指标。
Stars: 0 | Forks: 0
# React2Shell — 漏洞检测扫描器
## 什么是 React2Shell?
React2Shell 指的是一类影响基于 React 的 Web 应用程序的漏洞,
这些应用程序在配置错误或过时的环境中运行服务器端渲染 (SSR)。当
被恶意攻击者利用时,这些条件可能导致在
服务器上执行远程代码。此扫描器可帮助防御者和研究人员**识别目标是否表现出**与此攻击面相关的指标,而无需执行任何利用行为。

## 功能
| 标志 | 描述 |
|---|---|
| `--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安全, 代码安全, 加密, 安全基线检查, 密码管理, 指纹识别, 插件系统, 攻击面评估, 数据展示, 数据统计, 服务端渲染, 检测工具, 漏洞扫描器, 漏洞枚举, 版本探测, 端口扫描, 红队, 编程工具, 网络安全, 蓝队分析, 远程代码执行, 逆向工具, 错误页面泄露, 防御工具, 隐私保护