Skip to content

Commit 3fbf5a2

Browse files
author
githubnull
committed
docs(deployment): 更新启动脚本与离线部署流程文档
- 新增 Linux/macOS 和 Windows 启动脚本详解 - 增加离线依赖准备与离线部署流程说明 - 补充统一启动配置文件 startup.conf 的配置指导 - 更新部署架构图以反映最新启动流程 - 扩展故障排查指南,涵盖启动模式相关问题
1 parent 2abbc20 commit 3fbf5a2

File tree

4 files changed

+505
-10
lines changed

4 files changed

+505
-10
lines changed

.qoder/repowiki/zh/content/核心功能详解/任务管理/任务创建与配置/任务创建与配置.md

Lines changed: 185 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,29 @@
1616
- [rawHttpParser.ts](file://src/frontEnd/src/utils/httpRequestParser/parsers/rawHttpParser.ts)
1717
- [scanPreset.ts](file://src/frontEnd/src/types/scanPreset.ts)
1818
- [task.ts](file://src/frontEnd/src/types/task.ts)
19+
- [ScanPreset.py](file://src/backEnd/model/ScanPreset.py)
20+
- [scanPreset.py](file://src/backEnd/api/commonApi/scanPreset.py)
21+
- [scanPreset.ts](file://src/frontEnd/src/stores/scanPreset.ts)
1922
</cite>
2023

24+
## 更新摘要
25+
**已更新内容**
26+
- 更新了“引导式参数编辑器”部分,以反映预设配置系统的重构
27+
- 新增了“预设配置系统”部分,详细说明配置分类、管理机制和UI改进
28+
- 更新了“参数映射与默认值设置”部分,增加了预设配置的应用逻辑
29+
- 新增了“实时参数预览”部分,说明命令行参数的动态生成和显示机制
30+
- 更新了“常见配置错误解决方案”部分,增加了预设配置相关的错误处理
31+
2132
## 目录
2233
1. [任务创建流程概述](#任务创建流程概述)
2334
2. [HTTP请求导入与解析](#http请求导入与解析)
2435
3. [TaskRequest数据模型](#taskrequest数据模型)
2536
4. [前端HTTP请求解析器](#前端http请求解析器)
2637
5. [参数映射与默认值设置](#参数映射与默认值设置)
27-
6. [引导式参数编辑器](#引导式参数编辑器)
28-
7. [常见配置错误解决方案](#常见配置错误解决方案)
38+
6. [预设配置系统](#预设配置系统)
39+
7. [实时参数预览](#实时参数预览)
40+
8. [引导式参数编辑器](#引导式参数编辑器)
41+
9. [常见配置错误解决方案](#常见配置错误解决方案)
2942

3043
## 任务创建流程概述
3144

@@ -183,6 +196,7 @@ Parser-->>User : 返回解析结果
183196
2. **类型转换**:将前端传递的参数值转换为sqlmap期望的类型。
184197
3. **默认值填充**:为未指定的参数设置合理的默认值。
185198
4. **特殊处理**:对一些特殊参数进行额外的处理,如批量模式、禁用颜色等。
199+
5. **预设应用**:当用户选择预设配置时,将预设中的参数值应用到当前配置中。
186200

187201
### 默认值设置
188202

@@ -201,16 +215,176 @@ B --> |有效| C[类型转换]
201215
B --> |无效| D[返回错误]
202216
C --> E[默认值填充]
203217
E --> F[特殊处理]
204-
F --> G[创建任务]
218+
F --> G[预设应用]
219+
G --> H[创建任务]
205220
```
206221

207-
**Diagram sources**
222+
**Section sources**
208223
- [Task.py](file://src/backEnd/model/Task.py#L75-L95)
209224
- [taskService.py](file://src/backEnd/service/taskService.py#L58-L87)
225+
- [scanPreset.py](file://src/backEnd/api/commonApi/scanPreset.py#L300-L321)
226+
227+
## 预设配置系统
228+
229+
预设配置系统是前端任务配置界面重构的核心部分,它允许用户保存、管理和应用常用的扫描配置。系统将预设配置分为三种类型:默认配置、常用配置和历史配置,每种类型都有其特定的用途和管理方式。
230+
231+
### 预设类型
232+
233+
1. **默认配置**:系统提供的基础配置,包含最常用的扫描参数。用户可以修改默认配置,但不能删除。
234+
2. **常用配置**:用户手动创建和保存的配置,用于快速应用特定的扫描策略。
235+
3. **历史配置**:系统自动保存的最近使用的配置,便于用户快速回溯和重复使用。
236+
237+
### 配置管理
238+
239+
预设配置的管理通过以下API实现:
240+
241+
- **创建**`POST /scan-preset` 创建新的常用配置
242+
- **读取**`GET /scan-preset/list` 获取所有预设配置列表
243+
- **更新**`PUT /scan-preset/{preset_id}` 更新指定的预设配置
244+
- **删除**`DELETE /scan-preset/{preset_id}` 删除指定的预设配置
245+
- **应用**`POST /scan-preset/{preset_id}/apply` 将预设配置应用到当前选项
246+
247+
### UI改进
248+
249+
前端界面进行了以下改进:
250+
251+
1. **模式切换**:新增了“使用预设”和“自定义配置”两种模式,用户可以轻松切换。
252+
2. **分类选择**:通过下拉菜单选择预设类型,界面更加直观。
253+
3. **实时预览**:在选择预设时,实时显示对应的命令行参数。
254+
4. **保存功能**:在自定义配置模式下,可以将当前配置保存为新的预设。
255+
256+
```mermaid
257+
classDiagram
258+
class PresetType {
259+
+DEFAULT
260+
+PRESET
261+
+HISTORY
262+
}
263+
class ScanPreset {
264+
+id : int
265+
+name : str
266+
+description : str
267+
+preset_type : PresetType
268+
+options : ScanOptions
269+
+parameter_string : str
270+
+is_active : bool
271+
+created_at : datetime
272+
+updated_at : datetime
273+
+last_used_at : datetime
274+
+use_count : int
275+
}
276+
class ScanOptions {
277+
+level : int
278+
+risk : int
279+
+string : str
280+
+notString : str
281+
+regexp : str
282+
+code : int
283+
+smart : bool
284+
+textOnly : bool
285+
+titles : bool
286+
+testParameter : str
287+
+skip : str
288+
+skipStatic : bool
289+
+paramExclude : str
290+
+dbms : str
291+
+os : str
292+
+prefix : str
293+
+suffix : str
294+
+tamper : str
295+
+technique : str
296+
+timeSec : int
297+
+timeout : int
298+
+retries : int
299+
+delay : float
300+
+randomAgent : bool
301+
+proxy : str
302+
+tor : bool
303+
+optimize : bool
304+
+predictOutput : bool
305+
+keepAlive : bool
306+
+nullConnection : bool
307+
+threads : int
308+
+getBanner : bool
309+
+getCurrentUser : bool
310+
+getCurrentDb : bool
311+
+getHostname : bool
312+
+isDba : bool
313+
+getUsers : bool
314+
+getPasswordHashes : bool
315+
+getPrivileges : bool
316+
+getRoles : bool
317+
+getDbs : bool
318+
+getTables : bool
319+
+getColumns : bool
320+
+dumpTable : bool
321+
+dumpAll : bool
322+
+db : str
323+
+tbl : str
324+
+col : str
325+
+batch : bool
326+
+forms : bool
327+
+crawlDepth : int
328+
+flushSession : bool
329+
+freshQueries : bool
330+
+verbose : int
331+
}
332+
PresetType --> ScanPreset
333+
ScanPreset --> ScanOptions
334+
```
335+
336+
**Diagram sources**
337+
- [ScanPreset.py](file://src/backEnd/model/ScanPreset.py#L11-L230)
338+
- [scanPreset.py](file://src/backEnd/api/commonApi/scanPreset.py#L23-L325)
339+
340+
**Section sources**
341+
- [ScanPreset.py](file://src/backEnd/model/ScanPreset.py#L1-L230)
342+
- [scanPreset.py](file://src/backEnd/api/commonApi/scanPreset.py#L1-L325)
343+
- [scanPreset.ts](file://src/frontEnd/src/stores/scanPreset.ts#L1-L296)
344+
345+
## 实时参数预览
346+
347+
实时参数预览功能是前端界面重构的重要改进,它允许用户在配置参数的同时,实时查看对应的命令行参数字符串。这一功能大大提高了配置的透明度和准确性。
348+
349+
### 预览机制
350+
351+
实时参数预览的工作机制如下:
352+
353+
1. **参数监听**:监听用户在配置界面的所有输入和选择操作。
354+
2. **参数转换**:将用户配置的参数转换为对应的命令行参数。
355+
3. **语法高亮**:对命令行参数进行语法高亮显示,提高可读性。
356+
4. **动态更新**:每当用户修改配置时,立即更新预览内容。
357+
358+
### 预览内容
359+
360+
预览内容包括:
361+
362+
- **参数名称**:以蓝色显示,如 `--level`
363+
- **参数值**:以绿色显示,如 `"5"`
364+
- **布尔参数**:以紫色显示,如 `--batch`
365+
- **默认参数**:以灰色显示,表示未修改的默认值
366+
367+
### 使用方法
368+
369+
使用实时参数预览的步骤如下:
370+
371+
1. 在配置界面修改参数。
372+
2. 观察下方的命令行预览区域。
373+
3. 确认参数是否正确。
374+
4. 如需复制,点击复制按钮。
375+
376+
```mermaid
377+
flowchart TD
378+
A[用户修改配置] --> B[监听配置变化]
379+
B --> C[生成命令行参数]
380+
C --> D[语法高亮处理]
381+
D --> E[更新预览显示]
382+
E --> F[用户确认]
383+
```
210384

211385
**Section sources**
212-
- [Task.py](file://src/backEnd/model/Task.py#L1-L333)
213-
- [taskService.py](file://src/backEnd/service/taskService.py#L1-L535)
386+
- [AddTask/index.vue](file://src/frontEnd/src/views/AddTask/index.vue#L532-L560)
387+
- [GuidedParamEditor.vue](file://src/frontEnd/src/components/GuidedParamEditor.vue#L124-L127)
214388

215389
## 引导式参数编辑器
216390

@@ -224,6 +398,7 @@ F --> G[创建任务]
224398
2. **实时预览**:在用户配置参数的同时,实时显示对应的命令行参数字符串。
225399
3. **搜索过滤**:支持通过关键词搜索和过滤参数,快速找到所需选项。
226400
4. **预设管理**:允许用户保存和加载常用的参数配置。
401+
5. **多模式支持**:支持预设模式和自定义模式,满足不同用户需求。
227402

228403
### 使用方法
229404

@@ -265,6 +440,7 @@ F --> |提交| H[创建任务]
265440
2. **参数值错误**:提供的参数值不在有效范围内或格式不正确。
266441
3. **必填参数缺失**:缺少必要的参数,如scanUrl或options。
267442
4. **网络连接问题**:无法连接到目标服务器或代理配置错误。
443+
5. **预设配置错误**:预设配置名称冲突或配置不存在。
268444

269445
### 解决方案
270446

@@ -274,8 +450,10 @@ F --> |提交| H[创建任务]
274450
- **参数值错误**:检查参数值是否在有效范围内,参考文档中的说明。
275451
- **必填参数缺失**:确保所有必填参数都已正确填写。
276452
- **网络连接问题**:检查网络连接和代理配置,确保可以访问目标服务器。
453+
- **预设配置错误**:检查预设名称是否已存在,或确认预设配置ID是否正确。
277454

278455
**Section sources**
279456
- [webTaskController.py](file://src/backEnd/api/commonApi/webTaskController.py#L47-L54)
280457
- [taskService.py](file://src/backEnd/service/taskService.py#L23-L43)
281-
- [AddTask/index.vue](file://src/frontEnd/src/views/AddTask/index.vue#L616-L629)
458+
- [AddTask/index.vue](file://src/frontEnd/src/views/AddTask/index.vue#L616-L629)
459+
- [scanPreset.py](file://src/backEnd/api/commonApi/scanPreset.py#L251-L264)

0 commit comments

Comments
 (0)