中文 | English
一个现代化的 SQLMap Web 界面,为安全研究人员提供便捷的 SQL 注入测试平台。内置 VulnShop 靶场,开箱即用。
- 任务管理: 创建、监控、停止 SQL 注入扫描任务
- 实时日志: 查看任务执行的实时日志输出
- 扫描结果: 直观展示注入点和 Payload 信息
- HTTP 请求查看: 完整展示原始 HTTP 请求信息
- 任务列表增强:
- 多维度过滤(URL/报文关键字、状态、日期范围、注入状态)
- 多字段排序(任务ID、状态、创建时间)
- 汇总统计行(实时显示任务统计数据)
- 智能轮询(根据任务状态自动调整刷新频率)
- 默认配置: 设置全局默认扫描参数
- 常用配置: 保存常用配置组合,支持 CRUD 操作
- 历史配置: 查看历史扫描使用过的配置
- 引导式编辑器: 可视化配置 SQLMap 参数,无需记忆命令行
- 参数预览: 实时预览生成的命令行参数
- 支持多种请求格式自动解析:
- cURL (Bash/CMD)
- PowerShell Invoke-WebRequest
- JavaScript fetch
- 原始 HTTP 报文
- 智能格式检测: 自动识别输入格式
- 代码编辑器: 行号显示、语法高亮、搜索过滤
- 批量停止: 一键停止多个运行中的任务
- 批量删除: 批量删除已完成或失败的任务
- 批量导入: 支持批量导入 HTTP 请求创建扫描任务
- 全选/反选: 便捷的任务选择操作
- 持久化规则: 创建长期有效的请求头规则,支持 CRUD 完整操作
- 会话级规则: 设置临时请求头,支持 TTL 自动过期
- 作用域配置: 灵活的 URL 匹配规则
- 协议匹配(http/https)
- 主机名匹配(支持通配符
*.example.com) - 端口匹配(支持多端口
80,443,8080) - 路径匹配(支持通配符
/api/*) - 正则表达式匹配
- 优先级控制: 支持 0-100 优先级设置
- 替换策略: 完全替换、追加、条件替换等多种策略
- 批量导入: 支持从文本批量导入请求头
- Burp Suite 插件: 支持 Legacy API 和 Montoya API 两种版本
- 右键菜单快速发送请求
- 可配置扫描参数(Level、Risk、DBMS、Technique)
- 支持默认配置和常用配置管理
- 活动日志记录
内置模拟电商平台,包含 8 种 SQL 注入漏洞类型:
| 漏洞类型 | 接口 | 说明 |
|---|---|---|
| Error-based | POST /api/user/login | 基于错误的注入 |
| Union-based | GET /api/user/profile | 联合查询注入 |
| Boolean-blind | GET /api/products/search | 布尔盲注 |
| Time-based | GET /api/products/detail | 时间盲注 |
| Stacked Queries | GET /api/orders/query | 堆叠查询注入 |
| 2nd Order | POST /api/user/register | 二次注入 |
靶场特性:
- 🎨 现代化 UI,支持亮色/暗色主题切换
- 🛒 完整购物流程:浏览商品、购物车、下单结算
- ⚙️ 3 种难度级别(Easy/Medium/Hard)配合 WAF 防护
- 🔄 一键重置数据库
- 📱 针对 PC 端 Chrome 浏览器优化
- FastAPI - 高性能异步 Web 框架
- SQLMap - SQL 注入自动化检测工具
- Python 3.10+ - 运行环境
- SQLite - 数据库存储
- uv - 现代 Python 包管理器
- Vue 3 - 渐进式 JavaScript 框架
- TypeScript - 类型安全的 JavaScript
- PrimeVue - 企业级 UI 组件库
- Pinia - Vue 状态管理
- Vite - 下一代前端构建工具
- Burp Suite 插件
- Montoya API (Java 17+, Burp 2023.1+)
- Legacy API (Java 11+)
- Python 3.10+
- Node.js 20+
- pnpm 9+
- Java 17+ (Burp Montoya API) 或 Java 11+ (Legacy API)
# Windows
cd src\backEnd
start.bat
# Linux/macOS
cd src/backEnd && chmod +x start.sh && ./start.sh启动脚本支持配置镜像源、内网环境、离线模式等,详见 startup.conf。
# 进入后端目录
cd src/backEnd
# 使用 uv 安装依赖
uv sync --extra thirdparty
# 启动服务
uv run python main.py# 进入前端目录
cd src/frontEnd
# 安装依赖
pnpm install
# 开发模式
pnpm run dev
# 构建生产版本
pnpm run build# 进入靶场目录
cd src/vulnTestServer
# 安装依赖(如未安装)
pip install flask
# 启动服务
python server.py| 服务 | 地址 |
|---|---|
| 前端开发服务器 | http://localhost:5173 |
| 后端 API 服务器 | http://localhost:8775 |
| VulnShop 靶场 | http://127.0.0.1:9527 |
sqlmapWebUI/
├── src/
│ ├── backEnd/ # 后端代码
│ │ ├── api/ # API 路由
│ │ │ ├── webApi/ # Web 浏览器页面 API
│ │ │ ├── burpSuiteExApi/ # Burp Suite API
│ │ │ └── commonApi/ # 通用 API (认证/请求头规则/配置)
│ │ ├── model/ # 数据模型
│ │ ├── service/ # 业务逻辑
│ │ ├── utils/ # 工具函数
│ │ ├── third_lib/sqlmap/ # SQLMap 集成
│ │ ├── app.py # FastAPI 应用
│ │ └── main.py # 入口文件
│ ├── frontEnd/ # 前端代码
│ │ ├── src/
│ │ │ ├── api/ # API 请求
│ │ │ ├── components/ # 公共组件
│ │ │ ├── stores/ # Pinia 状态
│ │ │ ├── types/ # TypeScript 类型
│ │ │ ├── utils/ # 工具函数
│ │ │ └── views/ # 页面视图
│ │ └── vite.config.ts # Vite 配置
│ ├── burpEx/ # Burp Suite 扩展
│ │ ├── legacy-api/ # 传统 API (Java 11)
│ │ └── montoya-api/ # Montoya API (Java 17)
│ └── vulnTestServer/ # VulnShop 漏洞靶场
│ ├── static/ # 前端静态资源
│ ├── server.py # HTTP 服务器
│ ├── database.py # 数据库管理
│ └── waf.py # WAF 模块
└── doc/ # 项目文档
- 在任务列表页点击「新建任务」
- 输入目标 URL 或导入 HTTP 请求
- 配置扫描参数(可选)
- 点击「开始扫描」
- 启动靶场服务
python server.py - 浏览器访问 http://127.0.0.1:9527
- 使用测试账户登录(admin/admin123 或 test/test)
- 根据页面提示测试各种注入类型
- 构建插件:
mvn clean package -DskipTests - 在 Burp Suite 中加载 JAR 文件
- 配置后端服务器地址
- 右键请求选择 "Send to SQLMap WebUI"
- 进入「配置」→「Header 规则管理」标签页
- 点击「添加规则」
- 填写规则信息:
- 规则名称、Header 名称、Header 值
- 替换策略、优先级
- 可选:配置作用域限定生效范围
- 保存规则
详细使用说明请参阅 doc/USAGE_GUIDE.md
重要: 本工具仅供授权安全测试使用。
- 仅在获得明确授权的系统上进行测试
- 不要在生产环境或未授权系统上使用
- VulnShop 靶场仅绑定本地地址,禁止暴露到公网
请在使用前阅读 免责声明。
修复
- 修复 cURL (Windows CMD) 解析时中文字符前的转义符
^未移除的问题 - 修复 HTTP 报文编辑器长行内容撑开容器的问题,添加软换行支持
修复
- 修复 Burp 插件 (Legacy/Montoya) 中文乱码问题,强制使用 UTF-8 编码处理 HTTP 请求
修复
- 修复任务日志区域无法滚动显示全部日志的问题
修复
- 修复 Burp 插件右键菜单扫描配置来源选择不生效的问题
修复
- 修复会话 Header 和 Body 字段配置不生效的问题
修复
- URL 解析时 host 字段排除端口,保持跨平台一致性
优化
- 优化首页统计卡片尺寸
新功能
- 新增会话 Body 字段动态替换功能
- VulnShop 靶场添加日志系统
- VulnShop 靶场模块化重构并增强安全性
优化
- 提高 VulnShop 靶场鲁棒性,防止 SQLMap 扫描时崩溃
- 调整任务列表空数据区域高度
- API 前缀重命名 (/chrome/admin → /web/admin)
新功能
- 新增后端服务启动脚本(Windows/Linux/macOS)
- 支持自动创建和复用虚拟环境
- 支持配置 PyPI 镜像(清华/阿里/中科大等)
- 支持内网私域镜像配置
- 支持完全离线环境部署
- 新增 WebSocket 实时通知机制,后端可主动推送任务状态变更
- 任务列表页删除和停止操作添加确认对话框
优化
- 优化任务操作线程安全,将同步锁操作移至线程池避免阻塞事件循环
- 优化扫描配置预设选择UI
- 完善提交按钮禁用逻辑和提示信息
- Python 最低版本要求调整为 3.10+
修复
- 解决 Windows/Linux 命令行中文乱码问题
- 修复刷新间隔 API 响应数据结构处理错误
- 新增后端服务免责声明文档
- 新增项目 Logo 设计(盾牌+注入针头概念)
- Web 端:更新 favicon、状态栏、关于页面 Logo
- BurpSuite 插件:新增帮助/关于对话框(含使用帮助、开源协议、免责声明)
- BurpSuite 插件:关于页面使用 Java2D 绘制自定义 Logo
- 修复 PrimeVue 4 组件废弃警告(TabView → Tabs)
- 修复 BurpSuite 插件中 JLabel HTML 渲染问题
- 更新项目文档添加 Logo 展示
- 更新所有项目文档反映最新功能特性
- 完善 AGENTS.md 和 CLAUDE.md AI 编程指南
- 优化用户使用指南文档
- 新增扫描配置预设管理(默认配置/常用配置/历史配置)
- 新增引导式参数编辑器
- 新增 HTTP 请求解析器(支持 cURL/PowerShell/fetch/原始 HTTP)
- 新增代码编辑器组件(行号、语法高亮、搜索)
- 前端代码模块化重构
- 修复 fetch 解析器转义引号处理问题
- 新增请求头规则作用域配置功能
- 新增会话级请求头管理
- 新增批量请求头导入功能
- 任务列表新增汇总统计行
- 任务过滤器增强(日期范围、注入状态)
- 智能轮询策略优化
- 更新项目文档
- 更新项目文档
- 改进 Burp Suite 插件集成
- 修复后端配置问题
- 新增 VulnShop SQL 注入测试靶场
- 支持 8 种 SQL 注入漏洞类型
- 现代化 UI,支持亮色/暗色主题
- 完整购物流程模拟
- 3 种难度级别和 WAF 防护
本项目采用 MIT 协议 开源。
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request