Skip to content

Commit

Permalink
针对1.0.0版本更新README说明文档及截图
Browse files Browse the repository at this point in the history
  • Loading branch information
vaycore committed Apr 22, 2023
1 parent 5b02855 commit 31bace1
Show file tree
Hide file tree
Showing 10 changed files with 106 additions and 19 deletions.
125 changes: 106 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,40 @@
# OneScan

OneScan是一个递归目录扫描的BurpSuite插件
OneScan是递归目录扫描的BurpSuite插件

## 插件介绍

OneScan插件的思路由One哥提供,我负责将One哥的思路进行编码变现。插件起初是为了发现站点的 `Swagger-API` 文档页面,例如有些站点将 `Swagger-API`
文档存放在当前接口同路径下(或者更深层次目录)。OneScan插件的出现可以快速发现这类页面和接口,只需要配置对应的字典即可。
文档存放在当前API接口同路由下(或者更深层次目录),使用OneScan插件可以快速发现这类页面和接口

> 参与开发人员:
>
> - 主要开发: vaycore
> - 后续更新功能: Rural.Dog
> - 产品经理: 0ne_1
### 简单示例

例如配置Payload字典如下:

```text
/api-docs
/{{domain.name}}.zip
```

目标站点访问:`http://www.xxxxxx.com/a/b/c/xxx.min.js` ,插件会自动扫描如下的路径:

```text
http://www.xxxxxx.com/api-docs
http://www.xxxxxx.com/xxxxxx.zip
http://www.xxxxxx.com/a/api-docs
http://www.xxxxxx.com/a/xxxxxx.zip
http://www.xxxxxx.com/a/b/api-docs
http://www.xxxxxx.com/a/b/xxxxxx.zip
http://www.xxxxxx.com/a/b/c/api-docs
http://www.xxxxxx.com/a/b/c/xxxxxx.zip
```

## 插件安装

BurpSuite 安装流程如下:
Expand All @@ -35,15 +57,11 @@ windows:
C:\Users\<用户名>\.config\OneScan\
```

## 插件使用

> 使用前需要先配置一下黑白名单列表(否则只允许 `127.0.0.1` 地址扫描)
![](imgs/config_host.png)
## 插件说明

### 主面板
### Databoard数据看板

插件主面板如下
插件数据看板说明如下

![](imgs/main_panel.png)

Expand All @@ -53,7 +71,7 @@ C:\Users\<用户名>\.config\OneScan\
- `Disable DirScan` 开关递归扫描,启用时,不对目标进行递归扫描
- `Filter` 设置数据过滤规则

### 过滤规则配置
#### 过滤规则配置

点击主面板的`Filter`按钮,打开设置过滤规则对话框(插件`0.5.2`版本新增功能)

Expand All @@ -72,13 +90,11 @@ C:\Users\<用户名>\.config\OneScan\

![](imgs/send_to_onescan.png)

> 注意:白名单同样对主动扫描生效
### 辅助面板

提取请求和响应包中**JSON**格式的字段
提取请求和响应包中**JSON**格式的字段,插件`1.0.0`版本新增`Fingerprint`指纹信息展示

![](imgs/show_json_param.png)
![](imgs/onescan_info.png)

### 动态变量

Expand All @@ -92,10 +108,13 @@ C:\Users\<用户名>\.config\OneScan\
{{protocol}} - 原请求头中的协议(http、https)
{{timestamp}} - Unix时间戳(单位:秒)
{{random.ip}} - 随机IPv4值
{{random.local-ip}} - 随机内网IPv4值
{{random.ua}} - 随机UserAgent值,随机源可配置
```

### Payload
### Config配置

#### Payload(字典、Payload处理)

Payload配置界面如下

Expand All @@ -104,7 +123,7 @@ Payload配置界面如下
- `Payload` 配置递归扫描的字典
- `Payload Processing` 配置请求过程中对数据包的处理(例如:URL添加前缀、后缀,Body正则匹配和替换)

### Request
#### Request(请求相关配置)

Request配置界面如下

Expand All @@ -117,7 +136,7 @@ Request配置界面如下
- `Exclude header` 请求时排除请求头中对应的值
- `UserAgent` 这里配置的是 `{{random.ua}}` 变量列表里的值

### Host
#### Host(主要是黑、白名单配置)

Host配置界面如下

Expand All @@ -126,19 +145,87 @@ Host配置界面如下
- `Host Whitelist` 配置白名单列表,如果该列表不为空,插件则只能请求该列表中的Host
- `Host Blacklist` 配置黑名单列表,插件不对该列表配置的Host进行请求

### Other
#### Other(其它配置)

Other配置界面如下

![](imgs/config_other.png)

- `Web name collect` Web目录名收集(例如:`http://xxx.com/wapi/xxx.html` 会将该 url 中的 `wapi` 写入到指定的文件中)
- `Json field collect` Json字段收集(收集json格式响应包中的所有key值,保存到指定目录)
- `Wordlist Directory` 插件`1.0.0`版本新增字典管理,此目录下包含所有字典文件的配置
- `HaE` 配置与 [HaE](https://github.com/gh0stkey/HaE) 插件联动,实现主面板数据高亮
- `Clear Temp` 清除指纹识别缓存(用于加快指纹识别的速度)

### Fingerprint指纹

插件`1.0.0`版本新增`Fingerprint`指纹模块,指纹管理界面如下

![](imgs/fingerprint_panel.png)

- `Reload` 重新加载配置文件中的指纹信息
- `Search` 搜索指纹库中的指纹信息
- `Test` 用于测试指纹规则

指纹信息全程使用UI添加,不需要编写正则匹配规则(也可以使用正则匹配),UI界面如下:

![](imgs/create_fingerprint_ui.png)

#### 指纹信息说明

- `Name` 指纹名称(产品名)
- `Company` 产品公司(默认:Other)
- `Lang` 编程语言
- `SoftHard` 软硬件(0=其它;1=硬件;2=软件)
- `Frame` 产品使用的开发框架
- `ParentCategory` 父类别(默认:Other)
- `Category` 类别(默认:Other)
- `Rules` 指纹匹配规则

#### 指纹规则说明

包含六种数据源

- `header` Header
- `server` Header 中的 Server 值
- `body` Body 数据
- `title` Html 标题
- `bodyMd5` Body 数据 MD5 值
- `banner` 其它协议的 Banner 信息(HTTP协议无法匹配该值)

共有十种匹配方法

- `equals` 匹配相等
- `notEquals` 匹配不相等
- `iEquals` 匹配相等(忽略大小写)
- `iNotEquals` 匹配不相等(忽略大小写)
- `contains` 包含
- `notContains` 不包含
- `iContains` 包含(忽略大小写)
- `iNotContains` 不包含(忽略大小写)
- `regex` 正则匹配
- `notRegex` 正则不匹配

## 插件演示

浏览器访问某搜索网站,面板展示如下
将如下数据包主动发送到OneScan:

```text
POST /mcp/pc/pcsearch HTTP/1.1
Host: ug.baidu.com
Content-Length: 56
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
Content-Type: application/json
Accept: */*
Origin: https://www.baidu.com
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
{"invoke_info":{"pos_1":[{}],"pos_2":[{}],"pos_3":[{}]}}
```

面板展示如下:

![](imgs/main_panel_test.png)

Expand Down
Binary file modified imgs/config_other.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/config_payload.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/create_fingerprint_ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/fingerprint_panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/install_success.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/main_panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/main_panel_test.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/onescan_info.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/send_to_onescan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 31bace1

Please sign in to comment.