一个基于sqlmap API的高并发SQL注入漏洞扫描框架,支持多文件处理、结果存储、报告生成和数据可视化。
- 🔥 高并发扫描: 多线程并发扫描,支持大量目标批量处理
- 📁 多文件支持: 目录扫描、通配符匹配、并行文件处理
- 💾 数据持久化: SQLite数据库存储,支持查询和统计
- 📊 可视化报告: 交互式HTML报告,图表展示扫描结果
- 🐳 容器化部署: 完整的Docker支持,一键部署
- ⚡ 智能优化: 自动批处理、目标去重、优先级调度
# 1. 克隆项目 git clone <repository-url> cd SqlmapAuto # 2. 启动所有服务 docker-compose --profile web up -d # 3. 访问服务 # SQLMap API: http://localhost:8775 # Web界面: http://localhost:8080
# 1. 安装依赖 pip install -r requirements_sqlmap.txt # 2. 启动SQLMap API python sqlmapproject/sqlmapapi.py -s -H 127.0.0.1 -p 8775 # 3. 创建示例目标 python main.py --create-sample -t targets/sample.yaml # 4. 执行扫描 python main.py -t targets/sample.yaml -w 5
| 模式 | 命令 | 说明 |
|---|---|---|
| 完整部署 | docker-compose --profile web up -d |
API + 扫描器 + Web界面 |
| 仅API | docker-compose up -d sqlmap-api |
只启动API服务 |
| 扫描模式 | docker-compose --profile scanner up -d |
API + 扫描器 |
| 报告模式 | docker-compose --profile report up -d |
只生成报告 |
# 使用Makefile make dev # 开发环境 make prod # 生产环境 make scanner # 扫描模式 make logs -f # 查看日志 make status # 查看状态 # 使用脚本 ./scripts/deploy.sh start # 启动服务 ./scripts/health-check.sh # 健康检查 ./scripts/backup.sh # 数据备份
# 单文件扫描 python main.py -t targets/sample.yaml # 多文件扫描 python main.py -t targets/ -w 5 # 预览扫描计划 python main.py -t targets/ --dry-run # 批量扫描 python main.py -t targets/ -w 5 --batch-size 50 --max-targets 200
# 优先级扫描 python main.py -t targets/ --priority-filter high # 生成报告 python main.py --generate-report-only # 测试连接 python main.py -t targets/ --test-connection # 清理数据库 python main.py --cleanup-db 30
| 变量名 | 默认值 | 说明 |
|---|---|---|
SQLMAP_API_HOST |
127.0.0.1 |
API服务器地址 |
SQLMAP_API_PORT |
8775 |
API服务器端口 |
MAX_WORKERS |
5 |
最大并发数 |
DB_PATH |
sqlmap_scan_results.db |
数据库路径 |
REPORT_DIR |
reports |
报告目录 |
LOG_LEVEL |
INFO |
日志级别 |
targets: - url: "http://example.com/page.php?id=1" description: "测试目标" priority: "high" # high/normal/low level: 2 # 1-5 risk: 2 # 1-3 method: "GET" # GET/POST timeout: 1800 # 超时时间(秒) headers: User-Agent: "Mozilla/5.0..."
- HTML报告: 交互式可视化报告
- 统计图表: 漏洞分布、扫描状态、时间趋势
- 详细结果: 漏洞详情、payload信息
- 导出功能: 支持多种格式导出
# 生成HTML报告 python main.py --generate-report-only # 指定报告名称 python main.py --generate-report-only --report-name my_report.html
| 参数 | 说明 | 默认值 |
|---|---|---|
-t, --targets |
目标配置文件 | 必需 |
-w, --workers |
并发工作线程数 | 5 |
-b, --batch-size |
批处理大小 | 自动 |
--api-host |
API服务器地址 | 127.0.0.1 |
--api-port |
API服务器端口 | 8775 |
| 参数 | 说明 |
|---|---|
--dry-run |
预览扫描计划 |
--test-connection |
测试API连接 |
--generate-report-only |
仅生成报告 |
--cleanup-db |
清理数据库 |
--max-targets |
最大目标数量 |
--priority-filter |
优先级过滤 |
graph TB
subgraph "用户接口层"
CLI[命令行接口]
WEB[Web界面]
end
subgraph "核心业务层"
SCANNER[扫描器]
API[SQLMap API客户端]
CONCURRENCY[并发管理器]
end
subgraph "数据处理层"
DB[数据库管理器]
REPORT[报告生成器]
VIZ[数据可视化器]
end
CLI --> SCANNER
SCANNER --> API
SCANNER --> CONCURRENCY
SCANNER --> DB
SCANNER --> REPORT
REPORT --> VIZ
API --> SQLMAP[SQLMap API]
SqlmapAuto/
├── main.py # 主程序入口
├── config.py # 配置管理
├── sqlmap_api_client.py # SQLMap API客户端
├── concurrency_manager.py # 并发管理
├── db_manager.py # 数据库管理
├── report_generator.py # 报告生成
├── visualization.py # 数据可视化
├── file_processor.py # 文件处理
├── optimization_config.py # 扫描优化
├── targets/ # 目标配置文件
├── reports/ # 扫描报告
├── templates/ # 报告模板
├── scripts/ # 管理脚本
├── docker-compose.yml # Docker编排
├── Dockerfile # Docker镜像
└── requirements_sqlmap.txt # 依赖列表
- Python 3.8+
- Docker 20.10+ (可选)
- 2GB+ RAM
- 1GB+ 磁盘空间
# 启动开发环境 make dev # 运行测试 make test # 代码格式化 make format # 构建镜像 make build
- 架构文档 - 详细的系统架构分析
- Docker部署指南 - 容器化部署详细说明
- 使用指南 - 详细使用说明
- 快速开始 - 快速入门指南
欢迎提交Issue和Pull Request!
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
本工具仅用于授权的安全测试。使用者需要确保:
- 获得目标系统的明确授权
- 遵守相关法律法规
- 不得用于非法用途
作者不对使用本工具造成的任何后果承担责任。
如果这个项目对你有帮助,请给个 ⭐ Star!