Skip to content

Commit e4806d8

Browse files
author
githubnull
committed
feat: add project logo and help/about dialog for BurpSuite plugin (v1.7.9)
1 parent 0ff22fb commit e4806d8

18 files changed

Lines changed: 1492 additions & 48 deletions

File tree

.qoder/repowiki/zh/content/业务逻辑层/HTTP代码编辑器组件.md

Lines changed: 324 additions & 0 deletions
Large diffs are not rendered by default.

.qoder/repowiki/zh/content/业务逻辑层/HTTP请求解析器架构.md

Lines changed: 464 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 312 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,312 @@
1+
# 关于与帮助系统
2+
3+
<cite>
4+
**本文档引用的文件**
5+
- [README.md](file://README.md)
6+
- [USAGE_GUIDE.md](file://doc/USAGE_GUIDE.md)
7+
- [HEADER_CONFIG_USER_GUIDE.md](file://doc/HEADER_CONFIG_USER_GUIDE.md)
8+
- [headerController.py](file://src/backEnd/api/commonApi/headerController.py)
9+
- [headerRuleService.py](file://src/backEnd/service/headerRuleService.py)
10+
- [PersistentHeaderRule.py](file://src/backEnd/model/PersistentHeaderRule.py)
11+
- [HeaderScope.py](file://src/backEnd/model/HeaderScope.py)
12+
- [scope_matcher.py](file://src/backEnd/utils/scope_matcher.py)
13+
- [header_processor.py](file://src/backEnd/utils/header_processor.py)
14+
- [header_parser.py](file://src/backEnd/utils/header_parser.py)
15+
</cite>
16+
17+
## 目录
18+
1. [简介](#简介)
19+
2. [项目结构](#项目结构)
20+
3. [核心功能](#核心功能)
21+
4. [请求头规则管理](#请求头规则管理)
22+
5. [作用域匹配机制](#作用域匹配机制)
23+
6. [请求头处理流程](#请求头处理流程)
24+
7. [API接口说明](#api接口说明)
25+
8. [使用指南](#使用指南)
26+
9. [故障排查](#故障排查)
27+
28+
## 简介
29+
30+
SQLMap Web UI 是一个现代化的 SQL 注入测试平台,为安全研究人员提供便捷的测试环境。该系统集成了任务管理、扫描配置、请求头规则管理、Burp Suite 和 Chrome 扩展集成等核心功能,并内置 VulnShop 漏洞靶场用于学习和测试。
31+
32+
本系统基于 FastAPI 和 Vue 3 构建,采用前后端分离架构,支持多种请求格式解析(cURL、PowerShell、fetch、原始 HTTP),并提供可视化配置界面,降低使用门槛。
33+
34+
**Section sources**
35+
- [README.md](file://README.md#L1-L310)
36+
37+
## 项目结构
38+
39+
项目采用模块化设计,主要分为后端、前端、扩展插件和漏洞靶场四个部分:
40+
41+
```mermaid
42+
graph TD
43+
A[sqlmapWebUI] --> B[src]
44+
A --> C[doc]
45+
A --> D[.gitmodules]
46+
A --> E[AGENTS.md]
47+
A --> F[CLAUDE.md]
48+
A --> G[DISCLAIMER.md]
49+
A --> H[README.md]
50+
A --> I[README_EN.md]
51+
A --> J[pnpm-lock.yaml]
52+
B --> K[backEnd]
53+
B --> L[frontEnd]
54+
B --> M[burpEx]
55+
B --> N[vulnTestServer]
56+
K --> O[api]
57+
K --> P[model]
58+
K --> Q[service]
59+
K --> R[utils]
60+
K --> S[third_lib]
61+
K --> T[app.py]
62+
K --> U[main.py]
63+
L --> V[src]
64+
L --> W[package.json]
65+
L --> X[vite.config.ts]
66+
M --> Y[legacy-api]
67+
M --> Z[montoya-api]
68+
M --> AA[README.md]
69+
N --> AB[doc]
70+
N --> AC[static]
71+
N --> AD[server.py]
72+
```
73+
74+
**Diagram sources**
75+
- [README.md](file://README.md#L173-L207)
76+
77+
## 核心功能
78+
79+
系统提供以下核心功能:
80+
81+
| 功能 | 说明 |
82+
|------|------|
83+
| 任务管理 | 创建、监控、停止 SQL 注入扫描任务 |
84+
| 扫描配置管理 | 支持默认配置、常用配置、历史配置的 CRUD 操作 |
85+
| HTTP 请求解析 | 支持 cURL、PowerShell、fetch、原始 HTTP 等多种格式自动解析 |
86+
| 批量操作 | 支持批量停止、删除、导入任务 |
87+
| 请求头规则管理 | 支持持久化规则和会话级规则,支持作用域配置 |
88+
| 扩展集成 | 支持 Chrome 扩展和 Burp Suite 插件 |
89+
| VulnShop 靶场 | 内置包含 8 种 SQL 注入漏洞类型的测试环境 |
90+
91+
**Section sources**
92+
- [README.md](file://README.md#L17-L84)
93+
94+
## 请求头规则管理
95+
96+
系统提供两种类型的请求头规则管理:持久化规则和会话级规则。
97+
98+
### 持久化规则
99+
100+
持久化规则存储在数据库中,长期有效,支持以下配置:
101+
102+
- **规则名称**:规则的唯一标识
103+
- **Header 名称**:请求头字段名称
104+
- **Header 值**:请求头字段值
105+
- **替换策略**:完全替换、追加、前置、条件替换、UPSERT
106+
- **优先级**:0-100,数值越大优先级越高
107+
- **作用域配置**:灵活的 URL 匹配规则
108+
109+
```mermaid
110+
classDiagram
111+
class PersistentHeaderRule {
112+
+int id
113+
+string name
114+
+string header_name
115+
+string header_value
116+
+ReplaceStrategy replace_strategy
117+
+int priority
118+
+bool is_active
119+
+HeaderScope scope
120+
+datetime created_at
121+
+datetime updated_at
122+
}
123+
class ReplaceStrategy {
124+
+REPLACE
125+
+APPEND
126+
+PREPEND
127+
+CONDITIONAL
128+
+UPSERT
129+
}
130+
class HeaderScope {
131+
+string protocol_pattern
132+
+string host_pattern
133+
+string ip_pattern
134+
+string port_pattern
135+
+string path_pattern
136+
+bool use_regex
137+
}
138+
PersistentHeaderRule --> ReplaceStrategy : "使用"
139+
PersistentHeaderRule --> HeaderScope : "包含"
140+
```
141+
142+
**Diagram sources**
143+
- [PersistentHeaderRule.py](file://src/backEnd/model/PersistentHeaderRule.py#L19-L32)
144+
- [HeaderScope.py](file://src/backEnd/model/HeaderScope.py#L14-L32)
145+
146+
### 会话级规则
147+
148+
会话级规则存储在内存中,具有临时性,支持 TTL 自动过期,适用于临时测试场景。
149+
150+
**Section sources**
151+
- [README.md](file://README.md#L52-L63)
152+
- [HEADER_CONFIG_USER_GUIDE.md](file://doc/HEADER_CONFIG_USER_GUIDE.md#L98-L141)
153+
154+
## 作用域匹配机制
155+
156+
作用域匹配器负责判断请求头规则是否应用于特定的目标 URL,支持关键字匹配和正则表达式匹配两种模式。
157+
158+
### 匹配逻辑
159+
160+
- **scope 为 None**:表示全局生效,返回 True
161+
- **scope.is_empty() 为 True**:表示全局生效,返回 True
162+
- **所有配置的维度必须同时匹配**(AND 逻辑)
163+
164+
### 匹配维度
165+
166+
| 维度 | 说明 | 示例 |
167+
|------|------|------|
168+
| 协议匹配 | 匹配 http 或 https | `https``http,https` |
169+
| 主机名匹配 | 匹配域名(支持通配符) | `api.example.com``*.example.com` |
170+
| IP 匹配 | 匹配 IP 地址(支持通配符) | `192.168.1.100``192.168.*` |
171+
| 端口匹配 | 匹配端口号(支持多个) | `443``80,443,8080` |
172+
| 路径匹配 | 匹配 URL 路径(支持通配符) | `/api/*``/v1/users` |
173+
174+
```mermaid
175+
sequenceDiagram
176+
participant Client as "客户端"
177+
participant Processor as "HeaderProcessor"
178+
participant Matcher as "ScopeMatcher"
179+
participant Rule as "HeaderScope"
180+
Client->>Processor : 提交请求头和目标URL
181+
Processor->>Matcher : match_scope(scope, target_url)
182+
Matcher->>Matcher : parse_target_url(url)
183+
Matcher->>Matcher : _match_dimension(value, pattern, use_regex)
184+
Matcher-->>Processor : 返回匹配结果
185+
Processor-->>Client : 返回处理后的请求头
186+
```
187+
188+
**Diagram sources**
189+
- [scope_matcher.py](file://src/backEnd/utils/scope_matcher.py#L19-L142)
190+
- [header_processor.py](file://src/backEnd/utils/header_processor.py#L89-L151)
191+
192+
## 请求头处理流程
193+
194+
请求头处理流程包括解析、应用规则和格式化三个阶段。
195+
196+
### 处理流程
197+
198+
1. **解析阶段**:将原始请求头转换为字典格式
199+
2. **应用规则**:按优先级顺序应用持久化规则和会话级规则
200+
3. **格式化阶段**:将处理后的请求头转换回列表格式
201+
202+
### 替换策略
203+
204+
| 策略 | 说明 |
205+
|------|------|
206+
| REPLACE | 完全替换现有值 |
207+
| APPEND | 追加到现有值后面 |
208+
| PREPEND | 前置到现有值前面 |
209+
| CONDITIONAL | 条件性替换 |
210+
| UPSERT | 如果存在则替换,如果不存在则新增 |
211+
212+
```mermaid
213+
flowchart TD
214+
A[原始请求头] --> B{解析格式}
215+
B --> C[cURL]
216+
B --> D[HTTP]
217+
B --> E[JSON]
218+
B --> F[键值对]
219+
C --> G[解析cURL格式]
220+
D --> H[解析HTTP格式]
221+
E --> I[解析JSON格式]
222+
F --> J[解析键值对格式]
223+
G --> K[应用持久化规则]
224+
H --> K
225+
I --> K
226+
J --> K
227+
K --> L[应用会话级规则]
228+
L --> M[格式化输出]
229+
M --> N[处理后的请求头]
230+
```
231+
232+
**Diagram sources**
233+
- [header_processor.py](file://src/backEnd/utils/header_processor.py#L12-L258)
234+
- [header_parser.py](file://src/backEnd/utils/header_parser.py#L11-L306)
235+
236+
## API接口说明
237+
238+
系统提供 RESTful API 接口用于请求头规则管理。
239+
240+
### 持久化规则接口
241+
242+
| 方法 | 路径 | 说明 |
243+
|------|------|------|
244+
| POST | /commonApi/header/persistent-header-rules | 创建持久化规则 |
245+
| GET | /commonApi/header/persistent-header-rules | 获取规则列表 |
246+
| GET | /commonApi/header/persistent-header-rules/{rule_id} | 获取单个规则 |
247+
| PUT | /commonApi/header/persistent-header-rules/{rule_id} | 更新规则 |
248+
| DELETE | /commonApi/header/persistent-header-rules/{rule_id} | 删除规则 |
249+
250+
### 会话级规则接口
251+
252+
| 方法 | 路径 | 说明 |
253+
|------|------|------|
254+
| POST | /commonApi/header/session-headers | 设置会话级规则 |
255+
| GET | /commonApi/header/session-headers | 获取会话级规则 |
256+
| DELETE | /commonApi/header/session-headers | 清除会话级规则 |
257+
| DELETE | /commonApi/header/session-headers/{header_name} | 删除单个会话级规则 |
258+
259+
**Section sources**
260+
- [headerController.py](file://src/backEnd/api/commonApi/headerController.py#L68-L270)
261+
262+
## 使用指南
263+
264+
### 创建持久化规则
265+
266+
1. 进入「配置」→「Header 规则管理」标签页
267+
2. 点击「添加规则」
268+
3. 填写规则信息:
269+
- 规则名称、Header 名称、Header 值
270+
- 替换策略、优先级
271+
- 可选:配置作用域限定生效范围
272+
4. 保存规则
273+
274+
### 批量导入请求头
275+
276+
1. 准备请求头文本(每行一个请求头)
277+
2. 使用「文本导入」功能
278+
3. 设置默认优先级和替换策略
279+
4. 确认批量创建
280+
281+
**Section sources**
282+
- [USAGE_GUIDE.md](file://doc/USAGE_GUIDE.md#L232-L241)
283+
- [HEADER_CONFIG_USER_GUIDE.md](file://doc/HEADER_CONFIG_USER_GUIDE.md#L17-L32)
284+
285+
## 故障排查
286+
287+
### 规则不生效
288+
289+
**可能原因**
290+
- 规则被禁用
291+
- 作用域配置不匹配
292+
- 优先级被其他规则覆盖
293+
294+
**解决方法**
295+
1. 检查规则状态是否为「启用」
296+
2. 检查作用域配置是否匹配目标 URL
297+
3. 检查是否有更高优先级的规则
298+
299+
### 会话 Headers 看不到
300+
301+
**可能原因**
302+
- 已过期(超过 TTL)
303+
- 浏览器会话已清除
304+
- 后端服务重启
305+
306+
**解决方法**
307+
1. 重新添加 Session Headers
308+
2. 设置更长的 TTL
309+
3. 考虑使用持久化规则
310+
311+
**Section sources**
312+
- [HEADER_CONFIG_USER_GUIDE.md](file://doc/HEADER_CONFIG_USER_GUIDE.md#L268-L292)

.qoder/repowiki/zh/meta/repowiki-metadata.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

DISCLAIMER.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# 免责声明 (Disclaimer)
22

3+
<p align="center">
4+
<img src="src/frontEnd/public/logo.svg" alt="SQLMap WebUI Logo" width="80" height="80">
5+
</p>
6+
37
## 中文版
48

59
### 重要声明
@@ -94,4 +98,4 @@ If you discover any security vulnerabilities or have any questions, please conta
9498

9599
---
96100

97-
**最后更新 / Last Updated**: 2024-12
101+
**最后更新 / Last Updated**: 2025-12

README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
# SQLMap Web UI
22

3+
<p align="center">
4+
<img src="src/frontEnd/public/logo.svg" alt="SQLMap WebUI Logo" width="120" height="120">
5+
</p>
6+
37
<p align="center">
48
<img src="https://img.shields.io/badge/Python-3.13+-blue.svg" alt="Python">
59
<img src="https://img.shields.io/badge/Vue-3.x-green.svg" alt="Vue">
610
<img src="https://img.shields.io/badge/FastAPI-0.100+-red.svg" alt="FastAPI">
711
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License">
8-
<img src="https://img.shields.io/badge/Version-1.7.7-orange.svg" alt="Version">
12+
<img src="https://img.shields.io/badge/Version-1.7.9-orange.svg" alt="Version">
913
</p>
1014

1115
<p align="center">
@@ -253,20 +257,29 @@ sqlmapWebUI/
253257

254258
## 📝 更新日志
255259

256-
### v1.7.7 (2024-12)
260+
### v1.7.9 (2025-12)
261+
- 新增项目 Logo 设计(盾牌+注入针头概念)
262+
- Web 端:更新 favicon、状态栏、关于页面 Logo
263+
- BurpSuite 插件:新增帮助/关于对话框(含使用帮助、开源协议、免责声明)
264+
- BurpSuite 插件:关于页面使用 Java2D 绘制自定义 Logo
265+
- 修复 PrimeVue 4 组件废弃警告(TabView → Tabs)
266+
- 修复 BurpSuite 插件中 JLabel HTML 渲染问题
267+
- 更新项目文档添加 Logo 展示
268+
269+
### v1.7.7 (2025-12)
257270
- 更新所有项目文档反映最新功能特性
258271
- 完善 AGENTS.md 和 CLAUDE.md AI 编程指南
259272
- 优化用户使用指南文档
260273

261-
### v1.7.6 (2024-12)
274+
### v1.7.6 (2025-12)
262275
- 新增扫描配置预设管理(默认配置/常用配置/历史配置)
263276
- 新增引导式参数编辑器
264277
- 新增 HTTP 请求解析器(支持 cURL/PowerShell/fetch/原始 HTTP)
265278
- 新增代码编辑器组件(行号、语法高亮、搜索)
266279
- 前端代码模块化重构
267280
- 修复 fetch 解析器转义引号处理问题
268281

269-
### v1.6.0 (2024-12)
282+
### v1.6.0 (2025-12)
270283
- 新增请求头规则作用域配置功能
271284
- 新增会话级请求头管理
272285
- 新增批量请求头导入功能
@@ -275,12 +288,12 @@ sqlmapWebUI/
275288
- 智能轮询策略优化
276289
- 更新项目文档
277290

278-
### v1.5.1 (2024-12)
291+
### v1.5.1 (2025-12)
279292
- 更新项目文档
280293
- 改进 Burp Suite 插件集成
281294
- 修复后端配置问题
282295

283-
### v1.5.0 (2024-12)
296+
### v1.5.0 (2025-12)
284297
- 新增 VulnShop SQL 注入测试靶场
285298
- 支持 8 种 SQL 注入漏洞类型
286299
- 现代化 UI,支持亮色/暗色主题

0 commit comments

Comments
 (0)