piyushchavan002-ctrl/Syntecxhub_SQL_Injection_Scanner

GitHub: piyushchavan002-ctrl/Syntecxhub_SQL_Injection_Scanner

一款异步并发的 Python SQL 注入漏洞扫描器,通过多维度 Payload 测试帮助安全人员在授权环境中检测 Web 应用的 SQL 注入风险。

Stars: 0 | Forks: 0

# 🛡️ SQL 注入扫描器 一款快速、异步的 Python 工具,用于检测 Web 应用程序中的 SQL 注入漏洞。 专为在 DVWA、本地应用和 CTF 环境等目标上进行**授权渗透测试**而构建。 ## ✨ 功能 | 功能 | 详情 | |---|---| | 🔍 **4 种检测方法** | 基于报错、基于布尔、基于时间盲注、基于 Union | | ⚡ **异步与并发** | `asyncio` + `aiohttp`,支持可配置的并发 | | 🚦 **速率限制** | 请求间可配置的延迟,以避免被检测/造成过载 | | 🧠 **自动参数发现** | 未指定参数时,自动爬取表单和查询字符串 | | 📋 **JSON 报告** | 自动保存带时间戳的结构化报告 | | 🍪 **Cookie / 认证支持** | 传入会话 cookie 以进行经过认证的扫描 | | 📝 **双重日志记录** | 控制台输出 + 持久化的 `sqli_scan.log` | | 🎯 **50+ Payload** | 精选适用于 MySQL、PostgreSQL、MSSQL、Oracle、SQLite | ## 🚀 快速开始 ### 1. 克隆仓库 ``` git clone https://github.com/YOUR_USERNAME/sql-injection-scanner.git cd sql-injection-scanner ``` ### 2. 安装依赖 ``` pip install -r requirements.txt ``` ### 3. 针对 DVWA 运行(推荐的测试目标) ``` # 本地运行的 DVWA (安全级别: low) python sql_injection_scanner.py \ -u "http://localhost/dvwa/vulnerabilities/sqli/" \ -p id \ --cookie "PHPSESSID=your_session_id; security=low" ``` ## 📖 用法 ``` python sql_injection_scanner.py [OPTIONS] Options: -u, --url Target URL (required) -p, --params Parameter name(s) to test (auto-discovered if omitted) --types Payload types: error_based boolean_based time_based union_based stacked_queries -c, --concurrency Max concurrent requests (default: 5) -r, --rate Seconds between requests (default: 0.5) -t, --timeout HTTP timeout in seconds (default: 10) --cookie Cookie string e.g. "session=abc; security=low" -o, --output Custom output JSON filename -v, --verbose Enable debug logging ``` ## 🧪 示例命令 ``` # 使用所有 payload 类型测试单个参数 python sql_injection_scanner.py \ -u "http://localhost/app/user.php" \ -p id # 仅使用 error-based 和 boolean-based payloads python sql_injection_scanner.py \ -u "http://localhost/search" \ -p q \ --types error_based boolean_based # Aggressive concurrency, 较慢的 rate limit python sql_injection_scanner.py \ -u "http://testphp.vulnweb.com/listproducts.php" \ -p cat \ -c 10 -r 0.2 # 使用 verbose 输出将报告保存到自定义文件 python sql_injection_scanner.py \ -u "http://localhost/dvwa/vulnerabilities/sqli/" \ -p id \ --cookie "PHPSESSID=abc123; security=low" \ -o dvwa_results.json \ -v ``` ## 📂 项目结构 ``` sql-injection-scanner/ ├── sql_injection_scanner.py # Main scanner ├── requirements.txt # Python dependencies ├── README.md # This file ├── sqli_scan.log # Auto-generated log (after first run) └── sqli_report_*.json # Auto-generated reports (after each scan) ``` ## 📊 示例报告输出 ``` ============================================================ SCAN REPORT ============================================================ Target : http://localhost/dvwa/vulnerabilities/sqli/ Started : 2024-11-15T10:23:01 Finished : 2024-11-15T10:23:44 Total Reqs : 198 Vulnerable : 3 ============================================================ [1] Parameter : id Type : error_based Payload : ' Evidence : DB error signature: ...You have an error in your SQL syntax... HTTP : 200 (0.312s) [2] Parameter : id Type : time_based Payload : '; SELECT SLEEP(5)-- Evidence : Response delayed 5.21s (time-based blind SQLi) HTTP : 200 (5.213s) ``` JSON 报告将保存为 `sqli_report_YYYYMMDD_HHMMSS.json`。 ## 🔬 Payload 分类 | 分类 | 技术 | 检测内容 | |---|---|---| | `error_based` | 触发数据库报错信息 | SQL 错误的直接可见性 | | `boolean_based` | 真/假条件 | 内容长度差异 | | `time_based` | `SLEEP()` / `WAITFOR DELAY` | 通过响应延迟进行盲注 | | `union_based` | `UNION SELECT` 语句 | 数据提取能力 | | `stacked_queries` | 链式语句 | 多语句执行 | ## 🏗️ 合法测试环境 | 环境 | 设置 | |---|---| | **DVWA** | [github.com/digininja/DVWA](https://github.com/digininja/DVWA) — Docker 或 XAMPP | | **OWASP WebGoat** | [github.com/WebGoat/WebGoat](https://github.com/WebGoat/WebGoat) | | **bWAPP** | [itsecgames.com](http://www.itsecgames.com/) | | **HackTheBox** | [hackthebox.com](https://www.hackthebox.com/) — 需有效订阅 | | **TryHackMe** | [tryhackme.com](https://tryhackme.com/) — 特定房间目标 | | **VulnHub** | [vulnhub.com](https://www.vulnhub.com/) | ## ⚙️ 工作原理 ``` Target URL + Params │ ▼ Baseline Request ──── Records normal response length │ ▼ Payload Queue ──────── 50+ payloads × N params │ ▼ Async Workers ───────── Semaphore-controlled concurrency (rate limited) │ ▼ Detection Engine ├── Error signatures → DB error regex match ├── Time delay → Response ≥ 4.5s └── Boolean diff → Content length deviation │ ▼ JSON Report + Console Output + sqli_scan.log ``` ## 🛡️ 负责任的漏洞披露 如果您使用此工具发现了真实漏洞: 1. **切勿利用漏洞。** 2. 联系组织的安全团队或使用其负责任的漏洞披露 / Bug Bounty 计划。 3. 在任何公开披露之前,给予他们合理的时间进行修补。 ## 📄 许可证 MIT 许可证 — 详见 [LICENSE](LICENSE)。 ## ⭐ 致谢 - [OWASP SQL Injection](https://owasp.org/www-community/attacks/SQL_Injection) - [PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings) - [DVWA 项目](https://github.com/digininja/DVWA)
标签:CISA项目, Python, SQL注入检测, Web安全, 代码质量, 异步爬虫, 无后门, 蓝队分析, 计算机取证, 逆向工具