Skip to content

Commit d33b5a7

Browse files
committed
fix: 修复 HTTP 方法显示和 Host 头重复问题
合并 fix/ui-parameter-display-issues 分支,包含以下修复: 后端修复: - Task.py: 使用 self.method 而不是根据 body 推断方法 - TaskRequest.py: 添加 method 字段到请求模型 - taskService.py: 传递 method 参数并返回给前端 - 更新所有 API 端点,传递 method 参数到 star_task Burp 插件修复: - legacy-api/BurpExtender.java: 提取 method 并添加到 JSON payload - montoya-api/SqlmapContextMenuProvider.java: 使用 PayloadBuilder 工具类 - montoya-api/util/PayloadBuilder.java: 新增工具类,正确处理 method 字段 - montoya-api/util/LoggerUtil.java: 新增日志工具类 前端修复: - AddTask/index.vue: 添加 method 到请求数据 - task.ts: 添加 method 类型定义,优先使用后端返回的 method - requestFormatter.ts: 修复 Host 头重复问题 其他: 更新 .idea/workspace.xml 配置
2 parents 2c9a5ed + d4c8bdc commit d33b5a7

24 files changed

Lines changed: 5217 additions & 151 deletions

File tree

.idea/workspace.xml

Lines changed: 20 additions & 58 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AGENTS.md

Lines changed: 116 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,122 @@ sqlmapWebUI/
122122
- Port pattern (supports multiple values)
123123
- Path pattern (supports wildcards)
124124
- Regex support for complex matching
125-
- **Batch Import**: Import multiple headers from text
126-
127-
### VulnShop Lab
125+
- **Batch Import**: Import multiple headers from text
126+
- **Batch Import**: Import multiple headers from text
127+
128+
### 完整 SQLMap 参数支持
129+
130+
本项目支持 SQLMap 的 **215 个参数**(除 `-r` 外),完全兼容 SQLMap 1.9.11.3+。
131+
132+
#### 参数分类总览
133+
134+
| 分类 | 参数数量 | 说明 |
135+
|------|---------|------|
136+
| Target | 8 | 目标定义(URL、日志、批量文件等)|
137+
| Request | 51 | HTTP 请求配置(认证、代理、CSRF 等)|
138+
| Optimization | 5 | 性能优化(线程、连接等)|
139+
| Injection | 17 | 注入测试配置(测试参数、注入技术等)|
140+
| Detection | 8 | 检测配置(level、risk、匹配规则等)|
141+
| Techniques | 9 | 注入技术配置(UNION、DNS 外泄等)|
142+
| Fingerprint | 1 | 数据库指纹识别 |
143+
| Enumeration | 36 | 数据枚举(表、列、用户等)|
144+
| Brute Force | 3 | 暴力破解(常见表、列、文件)|
145+
| UDF | 2 | 用户自定义函数注入 |
146+
| File System | 3 | 文件系统访问(读、写文件)|
147+
| OS Takeover | 8 | 操作系统接管(命令执行、shell 等)|
148+
| Windows Registry | 6 | Windows 注册表操作 |
149+
| General | 38 | 通用选项(输出格式、会话管理等)|
150+
| Miscellaneous | 17 | 其他选项(工具、调试等)|
151+
152+
#### 完整参数列表
153+
154+
详见 `doc/SQLMap参数支持进度.md` 获取所有 215 个参数的详细列表和分类。
155+
156+
#### 重点参数说明
157+
158+
**--answers 参数(预定义答案)**:
159+
```bash
160+
--answers="quit=N,follow=N,extending=N"
161+
```
162+
用于在非交互式扫描中预定义 SQLMap 询问的答案,实现自动化扫描。
163+
164+
**常见参数组合**:
165+
166+
- **基础扫描**:
167+
```bash
168+
--batch --level=1 --risk=1
169+
```
170+
171+
- **深度扫描**:
172+
```bash
173+
--batch --level=5 --risk=3 --technique=BEUSTQ
174+
```
175+
176+
- **高级请求配置**:
177+
```bash
178+
--method=POST --data="id=1" --cookie="session=abc123"
179+
--headers="X-Custom-Header: value" --random-agent
180+
```
181+
182+
- **代理和认证**:
183+
```bash
184+
--proxy="http://127.0.0.1:8080" --auth-type=Basic
185+
--auth-cred="user:pass"
186+
```
187+
188+
- **枚举数据**:
189+
```bash
190+
--batch --dbs --tables --columns --dump
191+
-D=testdb -T=users -C=id,password
192+
```
193+
194+
- **导出配置**:
195+
```bash
196+
--dump-format=CSV --csv-del=";" --output-dir="/tmp/scan_results"
197+
```
198+
199+
#### 限制说明
200+
201+
**已排除的参数**:
202+
- `-r` (`--requestFile`): 由 Web UI 通过 HTTP 请求文件功能处理,不通过命令行参数传递
203+
204+
**SQLMap RESTAPI 限制**:
205+
以下参数由 SQLMap RESTAPI 限制,在 Burp 插件中会显示为置灰不可用:
206+
- `sqlShell` (`--sql-shell`): 交互式 SQL shell
207+
- `wizard` (`--wizard`): 向导模式
208+
209+
**安全警告**:
210+
以下参数会在 UI 中显示明显的安全警告标识(⚠️):
211+
212+
- **严重** (🚫 红色): 可远程执行系统命令或修改注册表,风险极高
213+
- `osCmd`, `osPwn`, `osSmb`, `osBof`, `regRead`, `regAdd`, `regDel`
214+
215+
- **高危** (⚠️ 橙色): 可访问操作系统或提升权限
216+
- `osShell`, `privEsc`
217+
218+
- **中危** (⚠️ 橙色): 可访问文件系统
219+
- `fileRead`, `fileWrite`, `fileDest`
220+
221+
**使用建议**:
222+
- 仅在授权的测试环境中使用危险参数
223+
- 了解潜在的安全风险和法律法规要求
224+
- 建议先在隔离环境中测试
225+
226+
#### 常见问题解答
227+
228+
**Q: 为什么某些参数显示为置灰不可用?**
229+
A: 这些参数由 SQLMap RESTAPI 限制,无法通过 API 调用。如需使用这些参数,请使用命令行版本的 SQLMap。
230+
231+
**Q: 如何使用 --answers 参数?**
232+
A: --answers 参数用于预定义 SQLMap 在扫描过程中的答案,实现非交互式自动化扫描。
233+
234+
**Q: 如何配置代理?**
235+
A: 使用 --proxy 参数指定代理服务器,支持 HTTP/HTTPS/SOCKS 代理。
236+
237+
**Q: 危险参数有风险吗?**
238+
A: 危险参数(如 os-cmd)允许远程执行系统命令,请确保:1. 仅在授权测试环境中使用;2. 了解潜在的安全风险;3. 遵守相关法律法规。
239+
240+
### VulnShop Lab
128241
- 8 SQL injection vulnerability types
129242
- 3 WAF difficulty levels (Easy/Medium/Hard)
130243
- Light/Dark theme support

0 commit comments

Comments
 (0)