muneeb03ahmed/SQL-Injection-Scanner
GitHub: muneeb03ahmed/SQL-Injection-Scanner
一款轻量级Python SQL注入扫描器,通过向URL参数注入payload并分析HTTP响应来检测Web应用中基于错误的SQL注入漏洞。
Stars: 0 | Forks: 0
# SQL 注入扫描器
一个轻量级的**基于 Python 的 SQL 注入漏洞扫描器**,旨在检测 Web 应用程序中潜在的 SQL 注入漏洞。该扫描器将常见的 SQL payload 注入到 URL 参数中,并分析服务器响应以识别异常行为或数据库错误消息。
本项目专为**教育目的和在受控环境中进行安全测试**而开发。
## 功能特性
- 自动化 SQL 注入 payload 测试
- URL 参数提取
- HTTP 响应分析
- SQL 错误检测
- 控制台漏洞报告
- 扫描结果日志记录
- 适用于 **Windows 和 Linux**
## 项目结构
```
SQL-Injection-Scanner
│
├── scanner.py # Main scanning engine
├── vulnerable_server.py # Local vulnerable test server
├── utils.py # Helper functions
├── logger.py # Logging module
├── payloads.txt # SQL injection payload list
├── report.txt # Scan result log
└── README.md # Project documentation
```
## 使用技术
| 技术 | 用途 |
|-----------|---------|
| Python | 核心编程语言 |
| Flask | 易受攻击的测试服务器 |
| Requests | 发送 HTTP 请求 |
| Colorama | 终端彩色输出 |
| Logging | 记录扫描结果 |
## 安装说明
克隆仓库:
```
git clone https://github.com/yourusername/SQL-Injection-Scanner.git
```
进入项目目录:
```
cd SQL-Injection-Scanner
```
创建虚拟环境:
```
python -m venv .venv
```
激活环境:
**Windows**
```
.venv\Scripts\activate
```
**Linux / macOS**
```
source .venv/bin/activate
```
安装依赖:
```
pip install requests flask colorama
```
## 运行易受攻击的测试服务器
启动易受攻击的服务器:
```
python vulnerable_server.py
```
服务器将运行于:
```
http://127.0.0.1:5000
```
示例测试 URL:
```
http://127.0.0.1:5000/test.php?id=1
```
## 运行 SQL 注入扫描器
打开一个新的终端并运行:
```
python scanner.py --url "http://127.0.0.1:5000/test.php?id=1"
```
示例输出:
```
[+] Starting scan on: http://127.0.0.1:5000/test.php?id=1
[*] Testing parameter: id
[!] Possible SQL Injection detected
Parameter : id
Payload : ' OR 1=1 --
Reason : SQL error pattern: sql syntax
```
## 示例 SQL 注入 Payload
扫描器测试的 payload 示例:
```
' OR '1'='1
' OR 1=1 --
' UNION SELECT NULL --
' AND 1=2 --
```
这些 payload 存储在:
```
payloads.txt
```
## 扫描器工作流程
| 步骤 | 操作 |
|-----|------|
| 1 | 接收目标 URL |
| 2 | 提取参数 |
| 3 | 发送基准请求 |
| 4 | 注入 SQL payload |
| 5 | 分析服务器响应 |
| 6 | 检测 SQL 错误模式 |
| 7 | 报告潜在漏洞 |
## 安全声明
此工具**仅用于教育目的和授权的安全测试**。
请**勿**在未经许可的系统上使用此扫描器。
未经授权的漏洞扫描可能违反法律法规。
## 限制
当前版本支持:
- GET 参数测试
- 基于错误的 SQL 注入检测
尚未实现:
- POST 请求扫描
- 盲注检测
- 网站爬取
- 多线程扫描
## 未来改进
未来可能的增强功能:
- 自动参数发现
- POST 请求注入测试
- 网站爬虫
- HTML 漏洞报告
- 多线程扫描
- 高级 SQL 注入检测技术
## 作者
Muneeb Ahmed
实习项目 – SYNTECXHUB
## 参考资料
- OWASP Top 10 Web 应用程序安全风险
- OWASP SQL 注入预防备忘单
- Python Requests 文档
- Flask 文档
标签:CISA项目, DOE合作, Flask, HTTP请求, Linux取证, Python, Web安全, 参数注入, 字符串匹配, 安全测试, 对称加密, 攻击性安全, 教育项目, 无后门, 网络安全, 自动化审计, 蓝队分析, 逆向工具, 隐私保护