Skip to content

fanwin/SqlmapAuto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQL注入自动化扫描框架

Python Docker License Status

一个基于sqlmap API的高并发SQL注入漏洞扫描框架,支持多文件处理、结果存储、报告生成和数据可视化。

快速开始Docker部署使用指南配置说明架构文档

✨ 核心特性

  • 🔥 高并发扫描: 多线程并发扫描,支持大量目标批量处理
  • 📁 多文件支持: 目录扫描、通配符匹配、并行文件处理
  • 💾 数据持久化: SQLite数据库存储,支持查询和统计
  • 📊 可视化报告: 交互式HTML报告,图表展示扫描结果
  • 🐳 容器化部署: 完整的Docker支持,一键部署
  • ⚡ 智能优化: 自动批处理、目标去重、优先级调度

🚀 快速开始

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 部署

部署模式

模式 命令 说明
完整部署 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]
Loading

📁 项目结构

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

📚 文档

🤝 贡献

欢迎提交Issue和Pull Request!

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

⚠️ 免责声明

本工具仅用于授权的安全测试。使用者需要确保:

  1. 获得目标系统的明确授权
  2. 遵守相关法律法规
  3. 不得用于非法用途

作者不对使用本工具造成的任何后果承担责任。


如果这个项目对你有帮助,请给个 ⭐ Star!

About

一个基于sqlmap API的高并发SQL注入漏洞扫描框架,支持多文件处理、结果存储、报告生成和数据可视化。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors