cr-akshayvarun/web-vuln-scanner

GitHub: cr-akshayvarun/web-vuln-scanner

基于 FastAPI 的异步 Web 漏洞扫描器,自动检测 XSS、SQL 注入、开放重定向等安全问题并提供实时进度与报告导出。

Stars: 0 | Forks: 0

# Web 漏洞扫描器 一个基于 FastAPI 的 Web 漏洞扫描器,通过异步爬取和审计 Web 应用程序来检测安全问题。支持检测 XSS、SQL 注入、开放重定向、缺失的安全标头以及暴露的 endpoint。提供基于 SSE 的实时扫描进度、扫描历史、比较以及报告生成功能。 ## 技术栈 | | | |---|---| | 后端 | Python, FastAPI, SQLAlchemy, httpx | | 数据库 | SQLite | | 异步 | asyncio + httpx(异步 HTTP 客户端)| | CLI | `python -m web-vuln-scanner` | ## 功能 - **XSS 检测** — 跨站脚本漏洞检查 - **SQL 注入** — 自动化 SQLi 测试 - **开放重定向** — 检测未经验证的重定向 endpoint - **安全标头** — 审计 HSTS、CSP、X-Frame-Options 等 - **暴露的 Endpoint** — 查找 .git、/admin、/backup 及其他敏感路径 - **实时 SSE** — 通过 Server-Sent Events 获取实时扫描进度 - **扫描历史** — 包含状态、发现和摘要的完整历史记录 - **扫描比较** — 比较两次扫描的发现结果 - **报告生成** — 将发现结果导出为 JSON 或 HTML ## 快速开始 ``` # 安装 dependencies pip install -r requirements.txt # 运行 python -m web-vuln-scanner # → http://localhost:8000 ``` ## API | 方法 | Endpoint | 描述 | |---|---|---| | POST | `/api/scans` | 开始新的扫描 | | GET | `/api/scans` | 列出所有扫描 | | GET | `/api/scans/{id}` | 获取扫描详情 | | DELETE | `/api/scans/{id}` | 删除扫描 | | GET | `/api/scans/{id}/progress` | SSE 实时扫描进度 | | POST | `/api/scans/compare` | 比较两次扫描 | | GET | `/api/reports/{id}` | 下载扫描报告 | | GET | `/api/history` | 扫描历史 | ## 扫描检查项 | 检查项 | 测试内容 | |---|---| | XSS | 向参数注入 `