manuiitj/Token-Aware-Mini-SQLi-Scanner
GitHub: manuiitj/Token-Aware-Mini-SQLi-Scanner
一个基于 Python 和 Flask 的 AI 辅助 SQL 注入扫描器,通过 token 感知的表单提交和 payload 智能排名来自动化检测 Web 应用中的 SQL 注入漏洞。
Stars: 1 | Forks: 0
# TokenAwareSQLiScanner
一个基于 Python 和 Flask 构建的具备 token 感知能力、AI 辅助的 SQL 注入 (SQLi) 扫描器。它会抓取 Web 表单,智能地对 SQL payload 进行排名和注入,分析服务器响应以寻找漏洞特征,并通过带有 AI 生成的安全性结论的简洁 Web 仪表板呈现结果。
## 功能
- **Token 感知表单提交** — 在每次注入尝试前自动刷新 CSRF token 和隐藏字段
- **AI Payload 排名** — 在测试前对 payload 进行评分和优先级排序 (OR、UNION、基于引号等)
- **SQL 错误检测** — 检查响应中是否包含已知的数据库错误签名 (MySQL、PostgreSQL、SQLite、Oracle、MSSQL、ODBC)
- **基于时间的检测** — 将慢于 5 秒的响应标记为潜在的盲注/基于时间的 SQLi 特征
- **风险评分系统** — 计算数字风险评分 (0–100) 并将其映射为 HIGH / MEDIUM / LOW 级别
- **AI 安全分析** — 利用真实的扫描数据,为每次扫描生成动态的、人类可读的结论
- **Web 仪表板** — 基于 Flask 的 UI,用于运行扫描、查看历史记录、筛选报告并下载 JSON 结果
- **报告存储** — 将每次扫描以带编号的 JSON 文件形式保存在 `reports/` 文件夹中
- **多重扫描支持** — 具备 AI 排名和报告保存功能的 CLI 扫描器
- **XSS 安全仪表板** — 对所有面向用户的输出进行转义,以防止在 UI 中出现反射型 XSS
## 项目结构
```
Token-Aware-Mini-SQLi-Scanner/
│
├── app.py # Flask web dashboard (main entry point)
├── requirements.txt # Python dependencies
├── pyproject.toml # Project metadata and pytest config
│
├── sqli_scanner/ # Core scanner package
│ ├── __init__.py
│ ├── crawler.py # Finds and parses HTML forms
│ ├── scanner.py # Submits forms with payloads (token-aware)
│ ├── detector.py # Detects SQL errors and computes risk scores
│ ├── timing_detector.py # Flags abnormally slow responses
│ ├── token_extractor.py # Extracts hidden/CSRF token values
│ ├── ai_engine.py # Ranks payloads; generates AI verdict
│ ├── payloads.py # Loads payloads from payloads.json
│ ├── payloads.json # SQL injection payload list
│ ├── report.py # Saves scan results as JSON files
│ └── web_scanner.py # Scan orchestrator
│
├── scripts/ # Command-line entry points
│ ├── mini_scan.py # Lightweight CLI (no AI, no report saving)
│ ├── multi_scan.py # Full CLI with AI ranking and reports
│ └── live_token_test.py # Live token extraction test
│
├── lab/
│ └── server.py # Local vulnerable test server (port 5001)
│
├── tests/ # Automated tests
│ ├── fixtures/ # Sample HTML for unit tests
│ ├── test_ai.py
│ ├── test_detector.py
│ └── test_token.py
│
└── reports/ # Auto-generated scan JSON files
└── scan_1.json, scan_2.json ...
```
## 工作原理
```
User enters URL
│
▼
crawler.py → Finds all
标签:CISA项目, DOE合作, Flask, Python, SQL注入扫描, Web安全, 人工智能辅助, 字符串匹配, 无后门, 蓝队分析, 逆向工具