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 | 向参数注入 `