1
1
# OneScan
2
2
3
- OneScan是一个递归目录扫描的BurpSuite插件 。
3
+ OneScan是递归目录扫描的BurpSuite插件 。
4
4
5
5
## 插件介绍
6
6
7
7
OneScan插件的思路由One哥提供,我负责将One哥的思路进行编码变现。插件起初是为了发现站点的 ` Swagger-API ` 文档页面,例如有些站点将 ` Swagger-API `
8
- 文档存放在当前接口同路径下 (或者更深层次目录)。OneScan插件的出现可以快速发现这类页面和接口,只需要配置对应的字典即可。
8
+ 文档存放在当前API接口同路由下 (或者更深层次目录),使用OneScan插件可以快速发现这类页面和接口
9
9
10
10
> 参与开发人员:
11
11
>
12
12
> - 主要开发: vaycore
13
13
> - 后续更新功能: Rural.Dog
14
14
> - 产品经理: 0ne_1
15
15
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
+
16
38
## 插件安装
17
39
18
40
BurpSuite 安装流程如下:
@@ -35,15 +57,11 @@ windows:
35
57
C:\Users\<用户名>\.config\OneScan\
36
58
```
37
59
38
- ## 插件使用
39
-
40
- > 使用前需要先配置一下黑白名单列表(否则只允许 ` 127.0.0.1 ` 地址扫描)
41
-
42
- ![ ] ( imgs/config_host.png )
60
+ ## 插件说明
43
61
44
- ### 主面板
62
+ ### Databoard数据看板
45
63
46
- 插件主面板如下
64
+ 插件数据看板说明如下
47
65
48
66
![ ] ( imgs/main_panel.png )
49
67
@@ -53,7 +71,7 @@ C:\Users\<用户名>\.config\OneScan\
53
71
- ` Disable DirScan ` 开关递归扫描,启用时,不对目标进行递归扫描
54
72
- ` Filter ` 设置数据过滤规则
55
73
56
- ### 过滤规则配置
74
+ #### 过滤规则配置
57
75
58
76
点击主面板的` Filter ` 按钮,打开设置过滤规则对话框(插件` 0.5.2 ` 版本新增功能)
59
77
@@ -72,13 +90,11 @@ C:\Users\<用户名>\.config\OneScan\
72
90
73
91
![ ] ( imgs/send_to_onescan.png )
74
92
75
- > 注意:白名单同样对主动扫描生效
76
-
77
93
### 辅助面板
78
94
79
- 提取请求和响应包中** JSON** 格式的字段
95
+ 提取请求和响应包中** JSON** 格式的字段,插件 ` 1.0.0 ` 版本新增 ` Fingerprint ` 指纹信息展示
80
96
81
- ![ ] ( imgs/show_json_param .png )
97
+ ![ ] ( imgs/onescan_info .png )
82
98
83
99
### 动态变量
84
100
@@ -92,10 +108,13 @@ C:\Users\<用户名>\.config\OneScan\
92
108
{{protocol}} - 原请求头中的协议(http、https)
93
109
{{timestamp}} - Unix时间戳(单位:秒)
94
110
{{random.ip}} - 随机IPv4值
111
+ {{random.local-ip}} - 随机内网IPv4值
95
112
{{random.ua}} - 随机UserAgent值,随机源可配置
96
113
```
97
114
98
- ### Payload
115
+ ### Config配置
116
+
117
+ #### Payload(字典、Payload处理)
99
118
100
119
Payload配置界面如下
101
120
@@ -104,7 +123,7 @@ Payload配置界面如下
104
123
- ` Payload ` 配置递归扫描的字典
105
124
- ` Payload Processing ` 配置请求过程中对数据包的处理(例如:URL添加前缀、后缀,Body正则匹配和替换)
106
125
107
- ### Request
126
+ #### Request(请求相关配置)
108
127
109
128
Request配置界面如下
110
129
@@ -117,7 +136,7 @@ Request配置界面如下
117
136
- ` Exclude header ` 请求时排除请求头中对应的值
118
137
- ` UserAgent ` 这里配置的是 ` {{random.ua}} ` 变量列表里的值
119
138
120
- ### Host
139
+ #### Host(主要是黑、白名单配置)
121
140
122
141
Host配置界面如下
123
142
@@ -126,19 +145,87 @@ Host配置界面如下
126
145
- ` Host Whitelist ` 配置白名单列表,如果该列表不为空,插件则只能请求该列表中的Host
127
146
- ` Host Blacklist ` 配置黑名单列表,插件不对该列表配置的Host进行请求
128
147
129
- ### Other
148
+ #### Other(其它配置)
130
149
131
150
Other配置界面如下
132
151
133
152
![ ] ( imgs/config_other.png )
134
153
135
154
- ` Web name collect ` Web目录名收集(例如:` http://xxx.com/wapi/xxx.html ` 会将该 url 中的 ` wapi ` 写入到指定的文件中)
136
155
- ` Json field collect ` Json字段收集(收集json格式响应包中的所有key值,保存到指定目录)
156
+ - ` Wordlist Directory ` 插件` 1.0.0 ` 版本新增字典管理,此目录下包含所有字典文件的配置
137
157
- ` 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 ` 正则不匹配
138
208
139
209
## 插件演示
140
210
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
+ 面板展示如下:
142
229
143
230
![ ] ( imgs/main_panel_test.png )
144
231
0 commit comments