@@ -13,6 +13,180 @@ Java 版本不仅更好地与 BurpSuite 环境集成,而且通过减少第三
1313
1414## 功能
1515
16- - ** API 高亮显示** :根据特定的规则和模式匹配 API 请求。
17- - ** 敏感信息检测** :针对泄漏或敏感信息进行标记和提示。
18- - ** 未授权访问漏洞检测** :支持精确匹配、正则表达式匹配等。
16+ ### API 高亮
17+
18+ #### 导入 API
19+
20+ 导入格式如下:
21+
22+ - \< Path\>
23+ - 仅传入 Path 时,无论是否勾选 `` 检查Method `` ,默认匹配所有 HTTP 方法。
24+ - \< Path\> 支持解析 ` PathVariable ` ,格式为 ` {任意字符} ` 。
25+ - \< Method\> ,\< Path\>
26+ - ` Method ` 与 ` Path ` 之间使用 ` , ` 分隔。当勾选 `` 检查Method `` 时,当前 Path 仅匹配指定 HTTP 方法。
27+ - \< Path\> 支持解析 ` PathVariable ` ,格式为 ` {任意字符} ` 。
28+ - xxxxx
29+ - 传入任意字符进行匹配,通常用于模糊匹配。
30+
31+ ![ image-20250131152949132] ( assets/image-20250131152949132.png )
32+
33+ ![ image-20250131153024127] ( assets/image-20250131153024127.png )
34+
35+ #### 选择匹配模式
36+
37+ 不同匹配模式仅针对 Path。
38+
39+ ##### 精确匹配
40+
41+ 选择精确匹配模式时,不支持 ` 启用URL编码 ` 、` 检查完整数据包 ` 。
42+
43+ 精确匹配仅匹配 API,不匹配 GET 请求参数,且需要 API 完全匹配。
44+
45+ 导入如下内容。
46+
47+ ![ image-20250131153251402] ( assets/image-20250131153251402.png )
48+
49+ 此时可匹配接口 ` /user/register ` ,` /user/login ` ,` /user/chave/info ` 。
50+
51+ 但无法匹配 ` /test/user/login/test ` ,` /user/loginabc ` ,` /user/chave/infomation ` ,` /test/user/chave/info ` 以及 ` 参数中的xxx ` 。
52+
53+ ![ image-20250131143303914] ( assets/image-20250131143303914.png )
54+
55+ ##### 半模糊匹配
56+
57+ 选择半模糊匹配模式时,不支持 ` 启用URL编码 ` 、` 检查完整数据包 ` 。
58+
59+ 半模糊匹配仅匹配 API,不匹配 GET 请求参数,但支持匹配不完全相同 API。
60+
61+ 导入如下内容。
62+
63+ ![ image-20250131153522783] ( assets/image-20250131153522783.png )
64+
65+ 此时可匹配接口 ` /user/login ` ,` /user/register ` ,` /user/chave/info ` ,` /test/user/login/test ` ,` /test/user/chave/info/abc ` 。
66+
67+ 但无法匹配 ` /user/loginabc ` ,` /user/chave/infomation ` ,` /xxx ` ,` /testxxx ` 以及 ` 参数中的xxx ` 。
68+
69+ ![ image-20250131143734141] ( assets/image-20250131143734141.png )
70+
71+ ##### 模糊匹配
72+
73+ 选择模糊匹配模式时,支持 ` 启用URL编码 ` 、` 检查完整数据包 ` 。
74+
75+ 模糊匹配在默认情况下,匹配 ` Path + 参数 ` 。
76+
77+ 导入如下内容。
78+
79+ ![ image-20250131153624442] ( assets/image-20250131153624442.png )
80+
81+ ###### 解析 PathVariable
82+
83+ 切换到模糊匹配模式时,会弹出窗口,选择是否解析 PathVariable。选择 ` 是 ` 则解析,选择 ` 否 ` 则不解析。
84+
85+ 当解析 PathVariable 时,此时可匹配接口 ` /test/user/abc/infomation ` 与参数 ` /test/user/abc/infoamtion ` ,` /test/user/{name}/infomation ` 。
86+
87+ ![ image-20250131151601732] ( assets/image-20250131151601732.png )
88+
89+ 当选择不解析 PathVariable 时,此时无法匹配接口 ` /test/user/abc/infoamtion ` 与参数 ` /test/user/abc/infoamtion ` ,仅可匹配参数 ` /test/user/{name}/infomation ` 。
90+
91+ ![ image-20250131151831909] ( assets/image-20250131151831909.png )
92+
93+ ###### 启用 URL 编码
94+
95+ 当未勾选 ` 启用URL解码 ` 时,此时无法匹配参数中经过 URL 编码的 ` a b c d e f g ` 。
96+
97+ ![ image-20250131153719159] ( assets/image-20250131153719159.png )
98+
99+ ![ image-20250131152224779] ( assets/image-20250131152224779.png )
100+
101+ 勾选 ` 启用URL解码 ` ,此时会对 request 进行 URL 解码,此时可匹配参数中经过 URL 编码的 ` a b c d e f g ` 。
102+
103+ ![ image-20250131153838072] ( assets/image-20250131153838072.png )
104+
105+ ![ image-20250131153912482] ( assets/image-20250131153912482.png )
106+
107+ ###### 检查完整数据包
108+
109+ 当未勾选 ` 检查完整数据包 ` 时,此时仅检查请求 ` Path + 参数 ` ,未检查数据包中其他内容。
110+
111+ 此时无法匹配请求体中的 ` a b c d e f g ` 与 ` xxx ` 。
112+
113+ ![ image-20250131155246057] ( assets/image-20250131155246057.png )
114+
115+ 勾选 ` 检查完整数据包时 ` 时,此时将检查整个数据包,此时可匹配 ` a b c d e f g ` ,` xxx ` 。
116+
117+ ![ image-20250131155558419] ( assets/image-20250131155558419.png )
118+
119+ ![ image-20250131155745214] ( assets/image-20250131155745214.png )
120+
121+ 该功能可与 ` 启用URL解码 ` 同时开启,可匹配完整请求中被 URL 编码的数据。
122+
123+ ![ image-20250131160031773] ( assets/image-20250131160031773.png )
124+
125+ #### 检查 Method
126+
127+ 勾选 ` 检查Method ` 后,需要 Method 与 Path 同时匹配才会高亮。
128+
129+ 若 Method 为空,勾选 ` 检查Method ` 依然匹配所有 HTTP 方法。
130+
131+ #### 检查 history
132+
133+ 点击 ` 检查history ` 后,会根据当前配置情况重新检查 history 中所有记录,原高亮记录会被覆盖。
134+
135+ #### 切换测试状态
136+
137+ 选择一条或多条 API,点击 ` 切换测试状态 ` ,可切换选中条目测试状态。
138+
139+ 当 ** State** 为 ** true** 时,该条 API 不再进行匹配。
140+
141+ ![ image-20250131201354108] ( assets/image-20250131201354108.png )
142+
143+ ![ image-20250131201535978] ( assets/image-20250131201535978.png )
144+
145+ #### 操作 API 列表
146+
147+ ##### 修改数据
148+
149+ - 修改 Method
150+ - 仅支持修改为 GET、POST、PUT、DELETE、OPTIONS。
151+ - 修改 State
152+ - 仅支持修改为 true、false。
153+ - 修改 Path、Result、Note、Domain
154+ - 无限制
155+
156+ ##### 删除数据
157+
158+ 选中一条或多条 API,按下退格键即可删除选中条目。
159+
160+ ##### 列表排序
161+
162+ 暂不支持...
163+
164+ #### 查找 API
165+
166+ ##### 快速查找
167+
168+ - \< Path\> :精确查找 Path,并选中。
169+ - \< Method\> ,\< Path\> :精确查找 Method + Path,并选中。
170+ - * :选中全部条目。
171+
172+ ![ image-20250131203231727] ( assets/image-20250131203231727.png )
173+
174+ ![ image-20250131203259330] ( assets/image-20250131203259330.png )
175+
176+ ##### 条件查找
177+
178+ 按条件信息查找,如 ` method=get ` ,` path=/service ` ,` result=xxx ` ,` state=true ` 等。
179+
180+ 不支持多条件搜索,不支持模糊搜索。
181+
182+ ![ image-20250131204156562] ( assets/image-20250131204156562.png )
183+
184+ ![ image-20250131204216952] ( assets/image-20250131204216952.png )
185+
186+ ![ image-20250131204256345] ( assets/image-20250131204256345.png )
187+
188+ ## 更新计划
189+
190+ - HaE 规则敏感信息检查
191+ - API 未授权访问检查
192+ - 列表排序
0 commit comments