写作思想:相比较具体介绍某个功能的用法。会更加侧重于介绍 Burp 提供哪些功能。这样好处是在比较复杂的测试场景,如果Burp 刚好提供对应的功能,就不用花费精力造轮子了。
而需要掌握具体操作方法,只需要查阅Burp 的官方手册。Burp 查阅手册十分方便,只需要点击相应功能旁边的 即可。
本文所使用的 BurpSuite 版本为 v2021.8.2 Professional 。
代表比较常用、重要的子功能。并非官方统计,作者的个人总结,仅供参考
可以在此根据需要,下载相应版本的BurpSuite https://portswigger.net/burp/releases。
此处决定将要启动的工程的存储类型。是打开一个临时工程、还是在磁盘上创建一个新工程、或者打开一个曾经保存的工程。
在渗透测试项目中,建议在磁盘创建一个新工程,因为这样在复测的时候可以很方便恢复到初测的场景。但如果是用于练习的话,使用临时工程就行。
此处主要决定 Burp 的设置选项,是采取默认选项,还是使用工程中自带的选项,还是额外加载其它选项文件。
此处建议将 Burp 个性化设置之后,将项目选项进行保存,这样每次启动时会恢复个性化设置。
控制和监视自动事件。
左上角是当前项目的自动任务,Intruder 任务也在此显示。
左下角是Burp 运行的一些事件记录,通常主要查看网络联通问题。
右侧是显示由 Burp 发现的一些问题及对应的详细问题。
进行主动 爬取 或 爬取并审计。
扫描的类型,要扫描的目标 url 等。
Crawl Optimization:决定爬取的深度,以及爬取的策略。
Crawl Limits: 决定爬取的终止条件。
Login Functions: 决定是否触发登录、注册数据功能。
Handling Application Errors During Crawl:在爬取时遇到错误时,满足什么条件会暂停任务。
Miscellaneous:一些爬取过程中的调整,各选项通俗易懂,默认选项足以应付绝大多数场景。值得注意的是,建议 Use embedded browser for Crawl and Audit 设置为 yes,即使用内置浏览器作为爬取引擎,可以处理js、加载额外资源等,从而爬取到更多内容。
Audit Optimization:审计的优化,决定速度,精确性。四个选项分别决定:
Issues Reported:决定会审计哪些漏洞。
自定义的登录功能。
若自定义登录序列,则需要通过 burp 插件录取登录序列。
控制发送请求的线程数以及请求之间的间隔等。
进行被动 爬取 或 审计。
被动扫描的类型,工具范围等。新建的 burp 工程会默认启动这两个任务。
和New scan 的 Audit 配置一样。
控制发送请求的线程数以及请求之间的间隔。
定义目标的范围,以便其它工具进行过滤。绘制网站地图。
显示网站地图。
主动scan、被动 scan。
Engagement tools:按照顺序,依次是搜索关键字、注释、脚本、引用,分析目标、扫文件目录、设置相关定时任务、模拟手工测试。
定义目标范围,以便其它工具根据此范围进行数据包过滤。
显示 scanner 工具所能识别到的所有问题的详情。
监听、拦截请求。记录数据包。
拦截数据包。
Request in browser:也就是将此请求在浏览器中重放。以该请求的cookie,或者以当前浏览器的cookie。
Engagement tools:分别是寻找引用这个 url 的 urls,扫描目录,设置定时任务,生成 csrf poc。
Don`t intercept requests:不拦截该相关请求。
Do intercept:拦截该请求的响应。
查看历史的数据包记录。
查看历史 websockets 消息记录。
对 Intercept 、Proxy 功能进行定制。
Proxy Lsteners
监听的端口,管理证书。
Intercept Client Requests / Intercept Server Responses / Intercept WebSockets Messages
拦截客户端的请求。拦截服务端的响应。拦截 WebSockets 消息
Response Modification
对响应内容做一定程度的更改。可以显示隐藏的表单,移除表单验证等等。
Match and Replace
对通过代理的请求、响应内容进行一些替换。
TLS pass through
某些app 采取证书pinning,可以在此添加绕过拦截的域名,burp 将无法抓取到此类流量。
Miscellaneous
设置proxy 的一些行为。默认设置下注意4、5、6、7 选项,都会对经过 proxy 的请求进行修改。如果发现经过burp 的请求和正常网页中请求的页面不同,那么很有可能是受到这几个选项的影响。
选项 Suppress Burp error
决定当在 Intercept 中 drop 请求时,是否在页面中显示burp 的报错信息。
重放数据包。
数据包爆破
Sniper
狙击手,一次只能替换一处标记。
Battering ram
攻城锤,和 Sniper 很相似,不过一次可以替换多个标记。同一个值要出现在多个地方。
Pitchfork
草叉,一对一。例如获取用户信息处需要同时输入用户名以及对应的手机号。
Cluster bomb
集束炸弹,多对多。例如登录处同时爆破用户名以及密码。
Payload Sets
用来控制payload 的形式。
a/b.c
目录名/文件名.后缀名 ,最终生成的payload 集合是三个集合的笛卡尔积。peer/p3er/p33r
abc
会生成 bbc/acc/abd
三个。比较少用。Payload processing
对payload 进行更改。支持以下几种方式。
添加前后缀、替换、截取、更改大小写、编解码、hash、由扩展处理等等。
Payload Encoding
对指定的字符串进行url 编码。
工具内通用的资源池。通俗易懂
一些控制选项。
Save Options
决定是否将这个 Intruder 保存到工程文件中。
Attack request headers
更新请求headers。
Error handling
决定 Intruder 在遇到错误如何处理。
Attack results options
保存请求、响应。
是否发起未进行修改的请求。
是否使用 dos 攻击模式。指的是发送完一个请求后就关闭本地的 tcp 链接。不管是否接收到响应。
表示是否保存 payloads,如果测试的漏洞会反射payload 到响应中,例如 xss。则要在 Options.Grep - payloads 标记响应时,必须要知道 payload。
Grep - Match
用来标记响应,在响应中搜素某个关键字。
Grep - Extract
用来标记响应中的关键字,以便 Recursive grep 形式的 payload 使用。
Grep - Payloads
用来标记响应,在响应中搜索 payload。
Redirections
决定是否跳转。
对数据包中特定参数进行数学统计分析。以检验其随机性强弱。
对数据进行编码或解码。覆盖常见的编解码、hash 方式。
对比两个 HTTP 数据包。按照字节、byte 对比两个数据包。
记录所有工具产生的流量。
burp 插件商店。管理插件。API 文档。
管理插件。
插件商店。
burp 的 API 文档。
插件自启动,以及更新。语言环境。
设置该项目文件的选项。
连接相关的设置。
Platform Authentication
HTTP 认证凭证,burp 将会使用这些凭证处理服务器 401 需要认证的响应。
Upstream Proxy Servers
http 代理
SOCKS Proxy
socks5 代理
Timeouts
决定四种情况下触发 timeout 的阈值。
Hostname Resolution
自定义 DNS 解析。
Out-of-Scope Requests
是否丢弃不在范围内的请求。这个范围在 Target.Scope 中定义。
关于HTTP 协议的一些设置。
Redirections
决定处理哪些重定向。
Streaming responses
指定特定的流式响应url。因为流式响应和普通的响应不同。burp 采取的是存储转发的模型,会将所有流数据接收完毕后才给客户端,而正常逻辑是每到一个数据就传给客户端。
Status 100 responses
决定如何处理 100 响应状态码?是原封不动返回 100 状态码,还是继续请求,返回其响应的状态码。
HTTP/2
是否尽可能使用 HTTP/2
证书相关配置。
TLS Negotiation
允许进行协商的方法。
Client TLS certificates
配置客户端证书。
Server TLS certificates
显示从服务端接收到的证书。
会话相关的管理。
定义session 处理规则。
Rule Actions
定义执行何种处理。
Use cookies from the session handling cookie jar
使用 Cookie Jar 中记录的 cookie。
Set a specific cookie or parameter value
设定指定cookie 或参数的值。
Check session is valid
通过请求某一页面,或运行某个宏并检视其结果来检验当前的 session 是否有效。并根据检验结果选择进一步的操作。
Prompt for in-browser session recovery
burp 会弹出一个记录 cookie 的面板,然后需要用户手动在浏览器中进行登录等恢复 session 的操作,之后选择cookie面板中成功的恢复的cookie。
Run a macro
在发送请求前,运行指定的宏。
Run a post-request macro
在得到响应后,运行指定的宏。
Invoke a Burp extension
将请求传给 burp 的插件。
定义此条处理规则应用的范围。
工具、url、参数。三个方面的控制。
动态维持网站的每个 Cookie。并可以用在其它工具。
宏是一个或多个请求序列。可以用来自动进行登录或者获取 csrf token。
一些其它设置。
Scheduled Tasks
自动暂停或继续执行 DashBoard 中的 Task 。
Burp Collaborator server
collaborator server 相关的设置。
Logging
记录哪些工具产生的流量。
Embedded Browser
内置的浏览器相关设置。
用户相关设置。比起Project options 来讲更通用。
HTTP 认证凭证,burp 将会使用这些凭证处理服务器 401 需要认证的响应。
http 代理
socks5 代理
证书相关的设置。
显示相关设置
User Interface
控制 burp 界面的字体大小以及主题。
HTTP Message Display
HTTP 消息框的显示控制。
Character Sets
设置 HTTP 数据包中的编码字符集。
HTML Rendering
在选择渲染视图时,是否是否为了渲染页面而发送额外请求,例如img、script 等。
Hotkeys
快捷键。
Automatic Project Backup
自动备份项目文件。
Temporary Files Location
临时文件存放目录。
REST API
REST API 是一种 API 的规范标准,此处实际上就是 burp 的api 接口。
实现的功能不多。
Proxy Interception
burp 启动时 interception 的默认状态。
Proxy History Logging
当修改 Target.Scope 中的目标范围时,是否将不在目标范围内的流量发送给 Proxy.History 或其它工具。
Performance Feedback
向burp 提交应用使用统计,以便 burp 进行改善。
Updates
自动更新
HTTP Message Search
控制 HTTP 消息界面搜索框的默认设置。
Embedded Browser
设置是否浏览器每次退出时清除个性化设置。
Learn Tab
显示学习标签页
用来加强 Burp Scanner 功能的一个jar 包。需要在目标网站系统上安装,它会对网站程序进行更改,然后当识别到 Scanner 扫描时会将程序执行的堆栈信息传递给 Collaborator 。以便更好的在代码层确认漏洞。
用来生成点击劫持的 POC。
用来尝试 OOB 技术的工具。
用于录制登录序列,以便 scanner 功能的自动登录功能使用。
为了更方便的测试 XSS 。
IOS 平台应用测试助手。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章