跳转到内容
Go back

Burp 插件使用笔记

更新于:

Burp 插件使用笔记

HaE

VERSION:v3.3

使用经验

  1. 修改设置,在【config】→【Setting】设置 HaE 生效的范围,仅勾选 proxyIntruderRepeater 三处,可以减少卡顿

自定义规则备忘

正则备忘

JSON-Phone

过于严格,对一些乱填的测试数据无效

([^"]*[Pp]hone":"((?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8})")

JSON-AccessId

("[^"]*?AccessId"(?:\s*:\s*|\:)"[^"]*?")

自定义多重正则匹配规则示例

  - name: 物流编号
    loaded: true
    f_regex: ("expressNumber"\s*:\s*"[^"]*")
    s_regex: '!(""|\{secret\})'
    format: '{0}'
    color: pink
    scope: response body
    engine: nfa
    sensitive: true

Onescan

使用经验

  1. swagger UI 可以考虑移除 .html 相关的字典记录,可以减少一些路径不存在的报错记录
  2. 默认的指纹不够精确,有较大的优化空间

配置记录

请求配置 - 请求头

X-Forwarded-For: {{random.local-ip}}
HackerBy: Elapse.Liu

请求配置 - 移除请求头

Accept
Accept-Encoding
Cookie
Priority
Sec-Ch-Ua
Sec-Ch-Ua-Mobile
Sec-Ch-Ua-Platform
Sec-Fetch-Dest
Sec-Fetch-Mode
Sec-Fetch-Site
Sec-Fetch-User
Upgrade-Insecure-Requests
User-Agent
X-Requested-With

测试未授权、越权接口

数据看板中的 “移除请求头”、“替换请求头” 功能开关分别用于测试未授权和越权漏洞。如果有些目标特殊,可以使用 “请求包处理” 功能进行处理

测试未授权

首先,切换到 OneScan 插件配置标签下的请求配置页面,配置要移除的请求头,示例如下:

image

配置完成后,在数据看板里打开 “移除请求头” 开关:

image

将如下请求包发送到 OneScan 插件:

image

结果如下所示,可以发现已自动移除 CookieAuthorization 请求头:

image

实战过程中,可以打开 “监听代理请求”、“移除请求头” 开关,然后登录目标站点,过一遍站点的功能,之后在 OneScan 中检测是否存在未授权的接口。

测试越权

首先,切换到 OneScan 插件配置标签下的请求配置页面,配置要替换的请求头(一般登录 A 账号的话,这里配置 B 账号的权限),示例如下:

image

配置完成后,在数据看板里打开 “替换请求头” 开关:

image

将如下请求包发送到 OneScan 插件:

image

结果如下所示,可以发现已自动替换 CookieAuthorization 请求头的内容:

image

实战过程中,可以打开 “监听代理请求”、“替换请求头” 开关,配置账号 B 的权限,然后用 A 账号登录目标站点,过一遍站点的功能,之后在 OneScan 中检测是否存在越权信息。

请求包处理

OneScan 扫描目录只发起 GET 请求,假如需要发起 POST 请求(或者需要构建特殊的请求包),就需要用到 “请求包处理” 功能了:

image

首先,点击 “添加” 按钮,添加一条请求包处理规则,输入规则名(例如:Post):

image

点击下方规则旁边的 “添加” 按钮,添加一条处理规则:

image

规则类型选择:“条件检查”,生效范围选择:“请求头”,正则表达式:GET /,点击确定:

image

常用字典

目录扫描主要就是靠字典,在递归扫描、动态变量特性的加持下,可以简化一些测试工作。这里分享一些常用的字典:

扫描隐藏接口文档字典示例如下:

/list
/users
/user/1
/save
/update
/servers
/services?wsdl
/keys
/actuator
/jolokia/list
/getConfig
/file/upload
/upload
/env
/add
/create
/ping

扫描隐藏的 API 接口字典示例如下:

/list
/users
/user/1
/save
/update
/servers
/services?wsdl
/keys
/actuator
/jolokia/list
/getConfig
/file/upload
/upload
/env
/add
/create
/ping

扫描敏感信息泄漏字典示例如下:

/.git/config
/.svn/entries
/{{domain}}.zip
/{{domain.main}}.zip
/{{domain.name}}.zip
/{{subdomain}}.zip
/{{webroot}}.zip
/config.json
/web.config
/settings.json
/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Logs/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Runtime/Logs/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/{{date.yy}}_{{date.MM}}_{{date.dd}}.log

扫描 springboot 未授权访问字典示例如下:

/api/swagger.json 
/v2/swagger.json 
/api/swagger.json 
/v2/api-docs 
/api-doc 
/swagger-resources 
/druid/index.html 
/services 
/admin 
/actuator 
/api/actuator 
/APPWebService 
/v3/api-docs 
/env 
/trace 
/api/v2/api-docs 
/v2/api-docs; 
/actuator; 
/js/ueditor/ueditor.config.js 
/nacos/index.html 
/jeecg-boot/ 
/ueditor/ueditor.config.js 
/getUserInfo 
/v1/api-docs 
/OfficeServer.jsp 
/APPWebService/AppService.asmx 
/js/config.js 
/env; 
/druid/login.html 
/druid/index.html 
/druid/basic.json 
/autoconfig 
/auditevents 
/configprops 
/dump 
/env 
/env/java.home 
/features 
/health 
/heapdump 
/logfile 
/loggers 
/jolokia 
/jolokia/list 
/jolokia/exec/org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager/getProperty/spring.datasource.password 
/jolokia/exec/org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager/getProperty/spring.datasource.url 
/mappings 
/metrics/mem 
/metrics/ 
/restart 
/trace 
/actuator/druid/login.html 
/actuator/autoconfig 
/actuator/auditevents 
/actuator/configprops 
/actuator/beans 
/actuator/dump 
/actuator/env 
/actuator/env/java.home 
/actuator/features 
/actuator/health 
/actuator/heapdump 
/actuator/info 
/actuator/logfile 
/actuator/loggers 
/actuator/jolokia 
/actuator/jolokia/list 
/actuator/shutdown 
/actuator/trace 
/nacos 
;/api/swagger.json 
;/v2/swagger.json 
;/api/swagger.json 
;/v2/api-docs 
;/api-doc 
;/swagger-resources 
;/druid/index.html 
;/services 
;/actuator 
;/api/actuator 
;/APPWebService 
;/v3/api-docs 
;/env 
;/trace 
;/api/v2/api-docs 
;/v2/api-docs; 
;/actuator; 
;/js/ueditor/ueditor.config.js 
;/nacos/index.html 
;/jeecg-boot/ 
;/ueditor/ueditor.config.js 
;/getUserInfo 
;/v1/api-docs 
;/OfficeServer.jsp 
;/js/config.js 
;/env; 
;/druid/login.html 
;/druid/index.html 
;/druid/basic.json 
;/autoconfig 
;/auditevents 
;/configprops 
;/dump 
;/env 
;/env/java.home 
;/features 
;/health 
;/heapdump 
;/logfile 
;/loggers 
;/jolokia 
;/jolokia/list 
;/jolokia/exec/org.springframework

自用字典记录

不完善,待继续更新

/actuator/env
/actuator/hystrix.stream
/api.json
/api.json?group=default
/api.json?group=webapi
/druid/basic.json
/druid/datasource.json
/druid/index.html
/env
/nacos/actuator/env
/nacos/actuator/heapdump
/swagger-resources
/v1/api-docs
/v1/api-docs/default
/v1/api-docs/swagger-config
/v1/api-docs/webapi
/v1/api-docs?group=rest
/v1/api-docs?group=rpc
/v1/api.json
/v1/api.json?group=default
/v1/api.json?group=webapi
/v1/swagger.json
/v1;/api-docs
/v2/api-docs
/v2/api-docs/default
/v2/api-docs/swagger-config
/v2/api-docs/webapi
/v2/api-docs?group=rest
/v2/api-docs?group=rpc
/v2/api.json
/v2/api.json?group=default
/v2/api.json?group=webapi
/v2/swagger.json
/v2;/api-docs
/v3/api-docs
/v3/api-docs/default
/v3/api-docs/swagger-config
/v3/api-docs/webapi
/v3/api-docs?group=rest
/v3/api-docs?group=rpc
/v3/api.json
/v3/api.json?group=default
/v3/api.json?group=webapi
/v3/swagger.json
/v3;/api-docs
/webservice/api
/webservice/api?wsdl

Lite 版本

正常测试似乎无需 bypass 形式的字典

/v2;/api-docs?group=webapi
/v2;/api-docs
/v2/api-docs
/v1/api.json?group=webapi
/v1/api.json
/v1/api-docs
/v3/api-docs?group=webapi
/v3/api-docs
/v3/api.json
/swagger-ui.html
/swagger-resources
/env
/druid/index.html
/api.json?group=webapi
/api.json
/actuator/env

扫描 ThinkPHP Log Files

工作过程中几乎没碰到过 thinkphp,这个字典的有效性还未验证

# TP3格式
/Runtime/Logs/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/App/Runtime/Logs/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Admin/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Home/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/App/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Ext/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Api/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Test/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Common/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Service/{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/{{date.yy}}_{{date.MM}}_{{date.dd}}.log

# TP3带时间戳格式
/Runtime/Logs/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/App/Runtime/Logs/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Admin/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Home/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/App/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Ext/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Api/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Test/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Common/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/Service/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log
/Application/Runtime/Logs/{{timestamp}}-{{date.yy}}_{{date.MM}}_{{date.dd}}.log

# TP5格式
/runtime/log/{{date.yyyy}}{{date.MM}}/{{date.dd}}.log
/runtime/log/{{date.yyyy}}{{date.MM}}/{{date.dd}}_cli.log
/runtime/log/{{date.yyyy}}{{date.MM}}/Api/{{date.dd}}.log
/runtime/log/{{date.yyyy}}{{date.MM}}/Admin/{{date.dd}}_cli.log
/runtime/log/{{date.yyyy}}{{date.MM}}/{{timestamp}}-{{date.dd}}.log

DetSql

域名黑名单

bi.aliyuncs.com,s-gm.mmstat.com

参数黑名单

keyid|KeyId|_t

禁止后缀

wma|csv|mov|doc|3g2|mp4|7z|3gp|xbm|jar|avi|ogv|mpv2|tiff|pnm|jpg|xpm|xul|epub|au|aac|midi|weba|tar|js|rtf|bin|woff|wmv|tif|css|gif|flv|ttf|html|eot|ods|odt|webm|mpg|mjs|bz|ics|ras|aifc|mpa|ppt|mpeg|pptx|oga|ra|aiff|asf|woff2|snd|xwd|csh|webp|xlsx|mpkg|vsd|mid|wav|svg|mp3|bz2|ico|jpe|pbm|gz|pdf|log|jpeg|rmi|txt|arc|rm|ppm|cod|jfif|ram|docx|mpe|odp|otf|pgm|cmx|m3u|mp2|cab|rar|bmp|rgb|png|azw|ogx|aif|zip|ief|htm|xls|mpp|swf|rmvb|abw

路径黑名单

/api/dataAccess/logs
/api/secret/update
/api/security/renew
/datacollect/dataAccess/logs
/monitor
/common/data/apm-config.json
/auth/const/list/v3
/auth/dict/list?version=0
/common/data/area-data.json
/auth/menu/add

请求时间间隔

5-15

自定义 payload

我目前是当备忘录在用,所以不是 sqli 相关 payload

<img src=kenyon onerror=alert(document.cookie)>

附录

参考资料


分享文章至:

Previous Post
Vite - Arbitrary File Read 笔记
Next Post
Java 构建系统笔记