Burp 插件使用笔记
HaE
VERSION:v3.3
使用经验
- 修改设置,在【config】→【Setting】设置 HaE 生效的范围,仅勾选
proxy、Intruder、Repeater三处,可以减少卡顿
自定义规则备忘
正则备忘
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
使用经验
- swagger UI 可以考虑移除
.html相关的字典记录,可以减少一些路径不存在的报错记录 - 默认的指纹不够精确,有较大的优化空间
配置记录
请求配置 - 请求头
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 插件配置标签下的请求配置页面,配置要移除的请求头,示例如下:

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

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

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

实战过程中,可以打开 “监听代理请求”、“移除请求头” 开关,然后登录目标站点,过一遍站点的功能,之后在 OneScan 中检测是否存在未授权的接口。
测试越权
首先,切换到 OneScan 插件配置标签下的请求配置页面,配置要替换的请求头(一般登录 A 账号的话,这里配置 B 账号的权限),示例如下:

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

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

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

实战过程中,可以打开 “监听代理请求”、“替换请求头” 开关,配置账号 B 的权限,然后用 A 账号登录目标站点,过一遍站点的功能,之后在 OneScan 中检测是否存在越权信息。
请求包处理
OneScan 扫描目录只发起 GET 请求,假如需要发起 POST 请求(或者需要构建特殊的请求包),就需要用到 “请求包处理” 功能了:

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

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

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

常用字典
目录扫描主要就是靠字典,在递归扫描、动态变量特性的加持下,可以简化一些测试工作。这里分享一些常用的字典:
扫描隐藏接口文档字典示例如下:
/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)>