nantasukangoding/Webrecon

GitHub: nantasukangoding/Webrecon

WebRecon 是一个集成了 DNS、SSL、端口、WHOIS、漏洞扫描等多项侦察模块的本地 Web 渗透测试工具包,帮助安全测试人员一站式完成目标信息收集与安全评估。

Stars: 0 | Forks: 0

# 🛡️ WebRecon **网站渗透测试工具包** — 用于 Web 安全分析的本地侦察工具。 ## 功能 | 模块 | 描述 | |--------|-------------| | 🔒 安全 Headers | 分析 HTTP 安全 Headers + 安全评级 | | 🔍 技术检测 | 指纹识别 frameworks、CMS 和 libraries | | 🌐 DNS 枚举 | 解析 DNS 记录 + 验证 SPF/DMARC/DKIM | | 📋 WHOIS 查询 | 域名注册商和所有权信息 | | 🔌 端口扫描器 | 检测开放端口和运行中的服务 | | 🔐 SSL/TLS 分析 | 检查证书、协议和密码套件 | | 💀 漏洞扫描器 | 主动探测 — 管理面板、敏感文件、配置错误 | | 🔑 API 及密钥 | 提取隐藏的 API 密钥并测试 endpoint 泄露 | | 📊 报告生成器 | 导出可打印的 HTML 报告 | ## 安装 ``` # 克隆或解压项目 cd webrecon # 安装依赖 npm install # 从模板创建 config 文件 cp .env.example .env ``` ### `.env` 配置 ``` PORT=3000 # 可选 — 设置以启用 auth(公开部署必需) # 生成:node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" API_KEY= # 可选 — 留空以禁用 CORS(本地使用) ALLOWED_ORIGINS= # Rate limiter(默认:每个 IP 每 15 分钟 30 次请求) RATE_LIMIT_WINDOW_MS=900000 RATE_LIMIT_MAX=30 ``` ## 运行 ``` # Development(文件更改时自动重启) npm run dev # Production npm start ``` 在浏览器中打开:**http://localhost:3000** ## API Endpoints 所有扫描 endpoints 接受带有 `{ "target": "example.com" }` body 的 `POST` 请求。 如果在 `.env` 中设置了 `API_KEY`,请包含以下 header: ``` x-api-key: your-api-key-here ``` | 方法 | Endpoint | 描述 | |--------|----------|-------------| | POST | `/api/scan/headers` | 安全 headers | | POST | `/api/scan/tech` | 技术检测 | | POST | `/api/scan/dns` | DNS 枚举 | | POST | `/api/scan/whois` | WHOIS 查询 | | POST | `/api/scan/ports` | 端口扫描 | | POST | `/api/scan/ssl` | SSL/TLS 分析 | | POST | `/api/scan/vulns` | 漏洞扫描 | | POST | `/api/scan/apis` | API 及密钥扫描 | | POST | `/api/scan/full` | 运行所有模块 | | POST | `/api/report` | 生成报告 | | GET | `/api/history` | 查看扫描历史 | | DELETE | `/api/history` | 清除扫描历史 | ## 安全 - **SSRF 防护**:自动阻止解析为私有 IP (RFC1918)、localhost 和云元数据 endpoints (`169.254.169.254`) 的目标。 - **速率限制**:默认每个 IP 每 15 分钟 30 次请求。 - **API Key 认证**:在 `.env` 中设置 `API_KEY` 以启用受保护模式。 - **CORS**:默认禁用;如果需要跨域访问,请设置 `ALLOWED_ORIGINS`。 - **持久化历史记录**:存储在 `data/history.json` 中(不包含在 git 中)。 ## 运行测试 ``` npm test ``` 测试涵盖: - `apiScanner.js` 中的 Regex 密钥模式 - SSRF 黑名单验证 - 目标 URL/域名解析 ## 项目结构 ``` webrecon/ ├── middleware/ │ └── security.js # SSRF protection, API key auth, rate limiter ├── modules/ │ ├── apiScanner.js │ ├── dnsEnumerator.js │ ├── headerAnalyzer.js │ ├── portScanner.js │ ├── reportGenerator.js │ ├── sslAnalyzer.js │ ├── techDetector.js │ ├── vulnScanner.js │ └── whoisLookup.js ├── public/ # Frontend (HTML/CSS/JS) ├── test/ # Unit tests ├── data/ # Persistent history (git-ignored) ├── .env.example # Config template ├── .gitignore └── server.js ``` ## 免责声明 本工具仅用于**授权的安全测试**和教育目的。 作者不对本工具的任何滥用行为负责。 在扫描之前,请务必确保您已获得目标所有者的**书面许可**。
标签:GitHub, GNU通用公共许可证, MITM代理, Node.js, Web安全, 多模态安全, 实时处理, 密码管理, 数据可视化, 暗色界面, 自定义脚本, 蓝队分析