11# OneScan
22
3- OneScan是一个递归目录扫描的BurpSuite插件 。
3+ OneScan是递归目录扫描的BurpSuite插件 。
44
55## 插件介绍
66
77OneScan插件的思路由One哥提供,我负责将One哥的思路进行编码变现。插件起初是为了发现站点的 ` Swagger-API ` 文档页面,例如有些站点将 ` Swagger-API `
8- 文档存放在当前接口同路径下 (或者更深层次目录)。OneScan插件的出现可以快速发现这类页面和接口,只需要配置对应的字典即可。
8+ 文档存放在当前API接口同路由下 (或者更深层次目录),使用OneScan插件可以快速发现这类页面和接口
99
1010> 参与开发人员:
1111>
1212> - 主要开发: vaycore
1313> - 后续更新功能: Rural.Dog
1414> - 产品经理: 0ne_1
1515
16+ ### 简单示例
17+
18+ 例如配置Payload字典如下:
19+
20+ ``` text
21+ /api-docs
22+ /{{domain.name}}.zip
23+ ```
24+
25+ 目标站点访问:` http://www.xxxxxx.com/a/b/c/xxx.min.js ` ,插件会自动扫描如下的路径:
26+
27+ ``` text
28+ http://www.xxxxxx.com/api-docs
29+ http://www.xxxxxx.com/xxxxxx.zip
30+ http://www.xxxxxx.com/a/api-docs
31+ http://www.xxxxxx.com/a/xxxxxx.zip
32+ http://www.xxxxxx.com/a/b/api-docs
33+ http://www.xxxxxx.com/a/b/xxxxxx.zip
34+ http://www.xxxxxx.com/a/b/c/api-docs
35+ http://www.xxxxxx.com/a/b/c/xxxxxx.zip
36+ ```
37+
1638## 插件安装
1739
1840BurpSuite 安装流程如下:
@@ -35,15 +57,11 @@ windows:
3557C:\Users\<用户名>\.config\OneScan\
3658```
3759
38- ## 插件使用
39-
40- > 使用前需要先配置一下黑白名单列表(否则只允许 ` 127.0.0.1 ` 地址扫描)
41-
42- ![ ] ( imgs/config_host.png )
60+ ## 插件说明
4361
44- ### 主面板
62+ ### Databoard数据看板
4563
46- 插件主面板如下
64+ 插件数据看板说明如下
4765
4866![ ] ( imgs/main_panel.png )
4967
@@ -53,7 +71,7 @@ C:\Users\<用户名>\.config\OneScan\
5371- ` Disable DirScan ` 开关递归扫描,启用时,不对目标进行递归扫描
5472- ` Filter ` 设置数据过滤规则
5573
56- ### 过滤规则配置
74+ #### 过滤规则配置
5775
5876点击主面板的` Filter ` 按钮,打开设置过滤规则对话框(插件` 0.5.2 ` 版本新增功能)
5977
@@ -72,13 +90,11 @@ C:\Users\<用户名>\.config\OneScan\
7290
7391![ ] ( imgs/send_to_onescan.png )
7492
75- > 注意:白名单同样对主动扫描生效
76-
7793### 辅助面板
7894
79- 提取请求和响应包中** JSON** 格式的字段
95+ 提取请求和响应包中** JSON** 格式的字段,插件 ` 1.0.0 ` 版本新增 ` Fingerprint ` 指纹信息展示
8096
81- ![ ] ( imgs/show_json_param .png )
97+ ![ ] ( imgs/onescan_info .png )
8298
8399### 动态变量
84100
@@ -92,10 +108,13 @@ C:\Users\<用户名>\.config\OneScan\
92108{{protocol}} - 原请求头中的协议(http、https)
93109{{timestamp}} - Unix时间戳(单位:秒)
94110{{random.ip}} - 随机IPv4值
111+ {{random.local-ip}} - 随机内网IPv4值
95112{{random.ua}} - 随机UserAgent值,随机源可配置
96113```
97114
98- ### Payload
115+ ### Config配置
116+
117+ #### Payload(字典、Payload处理)
99118
100119Payload配置界面如下
101120
@@ -104,7 +123,7 @@ Payload配置界面如下
104123- ` Payload ` 配置递归扫描的字典
105124- ` Payload Processing ` 配置请求过程中对数据包的处理(例如:URL添加前缀、后缀,Body正则匹配和替换)
106125
107- ### Request
126+ #### Request(请求相关配置)
108127
109128Request配置界面如下
110129
@@ -117,7 +136,7 @@ Request配置界面如下
117136- ` Exclude header ` 请求时排除请求头中对应的值
118137- ` UserAgent ` 这里配置的是 ` {{random.ua}} ` 变量列表里的值
119138
120- ### Host
139+ #### Host(主要是黑、白名单配置)
121140
122141Host配置界面如下
123142
@@ -126,19 +145,87 @@ Host配置界面如下
126145- ` Host Whitelist ` 配置白名单列表,如果该列表不为空,插件则只能请求该列表中的Host
127146- ` Host Blacklist ` 配置黑名单列表,插件不对该列表配置的Host进行请求
128147
129- ### Other
148+ #### Other(其它配置)
130149
131150Other配置界面如下
132151
133152![ ] ( imgs/config_other.png )
134153
135154- ` Web name collect ` Web目录名收集(例如:` http://xxx.com/wapi/xxx.html ` 会将该 url 中的 ` wapi ` 写入到指定的文件中)
136155- ` Json field collect ` Json字段收集(收集json格式响应包中的所有key值,保存到指定目录)
156+ - ` Wordlist Directory ` 插件` 1.0.0 ` 版本新增字典管理,此目录下包含所有字典文件的配置
137157- ` HaE ` 配置与 [ HaE] ( https://github.com/gh0stkey/HaE ) 插件联动,实现主面板数据高亮
158+ - ` Clear Temp ` 清除指纹识别缓存(用于加快指纹识别的速度)
159+
160+ ### Fingerprint指纹
161+
162+ 插件` 1.0.0 ` 版本新增` Fingerprint ` 指纹模块,指纹管理界面如下
163+
164+ ![ ] ( imgs/fingerprint_panel.png )
165+
166+ - ` Reload ` 重新加载配置文件中的指纹信息
167+ - ` Search ` 搜索指纹库中的指纹信息
168+ - ` Test ` 用于测试指纹规则
169+
170+ 指纹信息全程使用UI添加,不需要编写正则匹配规则(也可以使用正则匹配),UI界面如下:
171+
172+ ![ ] ( imgs/create_fingerprint_ui.png )
173+
174+ #### 指纹信息说明
175+
176+ - ` Name ` 指纹名称(产品名)
177+ - ` Company ` 产品公司(默认:Other)
178+ - ` Lang ` 编程语言
179+ - ` SoftHard ` 软硬件(0=其它;1=硬件;2=软件)
180+ - ` Frame ` 产品使用的开发框架
181+ - ` ParentCategory ` 父类别(默认:Other)
182+ - ` Category ` 类别(默认:Other)
183+ - ` Rules ` 指纹匹配规则
184+
185+ #### 指纹规则说明
186+
187+ 包含六种数据源
188+
189+ - ` header ` Header
190+ - ` server ` Header 中的 Server 值
191+ - ` body ` Body 数据
192+ - ` title ` Html 标题
193+ - ` bodyMd5 ` Body 数据 MD5 值
194+ - ` banner ` 其它协议的 Banner 信息(HTTP协议无法匹配该值)
195+
196+ 共有十种匹配方法
197+
198+ - ` equals ` 匹配相等
199+ - ` notEquals ` 匹配不相等
200+ - ` iEquals ` 匹配相等(忽略大小写)
201+ - ` iNotEquals ` 匹配不相等(忽略大小写)
202+ - ` contains ` 包含
203+ - ` notContains ` 不包含
204+ - ` iContains ` 包含(忽略大小写)
205+ - ` iNotContains ` 不包含(忽略大小写)
206+ - ` regex ` 正则匹配
207+ - ` notRegex ` 正则不匹配
138208
139209## 插件演示
140210
141- 浏览器访问某搜索网站,面板展示如下
211+ 将如下数据包主动发送到OneScan:
212+
213+ ``` text
214+ POST /mcp/pc/pcsearch HTTP/1.1
215+ Host: ug.baidu.com
216+ Content-Length: 56
217+ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
218+ Content-Type: application/json
219+ Accept: */*
220+ Origin: https://www.baidu.com
221+ Accept-Encoding: gzip, deflate
222+ Accept-Language: zh-CN,zh;q=0.9
223+ Connection: close
224+
225+ {"invoke_info":{"pos_1":[{}],"pos_2":[{}],"pos_3":[{}]}}
226+ ```
227+
228+ 面板展示如下:
142229
143230![ ] ( imgs/main_panel_test.png )
144231
0 commit comments