starrys

简介

写作思想:相比较具体介绍某个功能的用法。会更加侧重于介绍 Burp 提供哪些功能。这样好处是在比较复杂的测试场景,如果Burp 刚好提供对应的功能,就不用花费精力造*了。

而需要掌握具体操作方法,只需要查阅Burp 的官方手册。Burp 查阅手册十分方便,只需要点击相应功能旁边的 image-20211010214802412即可。

本文所使用的 BurpSuite 版本为 v2021.8.2 Professional 。

⭐ 代表比较常用、重要的子功能并非官方统计,作者的个人总结,仅供参考

安装启动

可以在此根据需要,下载相应版本的BurpSuite https://portswigger.net/burp/releases。

image-20210910090346299

此处决定将要启动的工程的存储类型。是打开一个临时工程、还是在磁盘上创建一个新工程、或者打开一个曾经保存的工程。

在渗透测试项目中,建议在磁盘创建一个新工程,因为这样在复测的时候可以很方便恢复到初测的场景。但如果是用于练习的话,使用临时工程就行。

image-20210910090738176

此处主要决定 Burp 的设置选项,是采取默认选项,还是使用工程中自带的选项,还是额外加载其它选项文件。

此处建议将 Burp 个性化设置之后,将项目选项进行保存,这样每次启动时会恢复个性化设置。

image-20210910091014389

各模块及功能的详细介绍

Dashboard

控制和监视自动事件。

image-20210910085831418

左上角是当前项目的自动任务,Intruder 任务也在此显示。

左下角是Burp 运行的一些事件记录,通常主要查看网络联通问题。

右侧是显示由 Burp 发现的一些问题及对应的详细问题。

New scan⭐

进行主动 爬取爬取并审计

Scan details

image-20210909203247729

扫描的类型,要扫描的目标 url 等。

Scan configuration-Crawl

image-20211008102304682

image-20210910091324651

  • Crawl Optimization:决定爬取的深度,以及爬取的策略。

  • Crawl Limits: 决定爬取的终止条件。

  • Login Functions: 决定是否触发登录、注册数据功能。

image-20210910091817605

  • Handling Application Errors During Crawl:在爬取时遇到错误时,满足什么条件会暂停任务。

  • Miscellaneous:一些爬取过程中的调整,各选项通俗易懂,默认选项足以应付绝大多数场景。值得注意的是,建议 Use embedded browser for Crawl and Audit 设置为 yes,即使用内置浏览器作为爬取引擎,可以处理js、加载额外资源等,从而爬取到更多内容。

Scan configuration-Audit

image-20210910093451206

  • Audit Optimization:审计的优化,决定速度,精确性。四个选项分别决定:
    • 基于审计的值,是否跳过不太可能的漏洞检查。例如一个数字值就不会尝试目录遍历漏洞。
    • 将经常出现的问题进行合并。
    • 自动维持 session。只在当选择 Crawl and Audit 模式才有作用。
    • 在必要时遵循重定向。可以在Project options.HTTP.Redirections 设置具体的重定向条件。
  • Issues Reported:决定会审计哪些漏洞。

image-20210910094721741

  • Handling Application Errors During Audit:决定当遇到错误时(连接错误、超时)等,何时跳过该检查点。并且决定何时暂停该任务。
  • Insertion Point Types:决定哪些位置的参数会被检查。

image-20210910100807934

  • Modifying Parameter Locations:是否将参数挪换位置。常用于绕 waf。
  • Ignored Insertion Points:决定哪些参数不会被测试。

image-20210910101145569

  • Frequently Occurring Insertion Points:决定哪些参数位置在大量请求未检测到问题的时候,将执行轻量级的审计。
  • Misc Insertion Point Options:决定在不同的数据封装层进行审计测试。例如 json 数据被base64 编码,则会在两个数据层次都进行测试。
  • JavaScript Analysis:决定如何对 JavaScript 采取的分析技术。
Application login

image-20211008102206687

自定义的登录功能。

若自定义登录序列,则需要通过 burp 插件录取登录序列。

Resource pool

image-20211008102219548

控制发送请求的线程数以及请求之间的间隔等。

New live task⭐⭐

进行被动 爬取审计

Scan details

image-20210909203343296

被动扫描的类型,工具范围等。新建的 burp 工程会默认启动这两个任务。

Scan configuration-Crawl

image-20210910102157775

  • Live passive crawl:进行被动爬取,建议选择所有。
Scan configuration-Audit

和New scan 的 Audit 配置一样。

Resource pool

控制发送请求的线程数以及请求之间的间隔。

Target

定义目标的范围,以便其它工具进行过滤。绘制网站地图。

Site map⭐

显示网站地图。

image-20210910103450975

右键功能

主动scan、被动 scan。

Engagement tools:按照顺序,依次是搜索关键字、注释、脚本、引用,分析目标、扫文件目录、设置相关定时任务、模拟手工测试。

Scope⭐

image-20210909204026894

定义目标范围,以便其它工具根据此范围进行数据包过滤。

Issue definitions

image-20210909204056034

显示 scanner 工具所能识别到的所有问题的详情。

Proxy

监听、拦截请求。记录数据包。

Intercept⭐

image-20211010112132651

拦截数据包。

右键功能

Request in browser:也就是将此请求在浏览器中重放。以该请求的cookie,或者以当前浏览器的cookie。

Engagement tools:分别是寻找引用这个 url 的 urls,扫描目录,设置定时任务,生成 csrf poc。

Don`t intercept requests:不拦截该相关请求。

Do intercept:拦截该请求的响应。

HTTP history⭐

image-20210910124651422

查看历史的数据包记录。

WebSockets history

image-20210910124751194

查看历史 websockets 消息记录。

Options⭐

对 Intercept 、Proxy 功能进行定制。

image-20210910124925965

  • Proxy Lsteners

    监听的端口,管理证书。

image-20210910125053412

  • Intercept Client Requests / Intercept Server Responses / Intercept WebSockets Messages

    拦截客户端的请求。拦截服务端的响应。拦截 WebSockets 消息

image-20210910125159962

  • Response Modification

    对响应内容做一定程度的更改。可以显示隐藏的表单,移除表单验证等等。

  • Match and Replace

    对通过代理的请求、响应内容进行一些替换。

image-20210910125931756

  • TLS pass through

    某些app 采取证书pinning,可以在此添加绕过拦截的域名,burp 将无法抓取到此类流量。

  • Miscellaneous

    设置proxy 的一些行为。默认设置下注意4、5、6、7 选项,都会对经过 proxy 的请求进行修改。如果发现经过burp 的请求和正常网页中请求的页面不同,那么很有可能是受到这几个选项的影响。

    选项 Suppress Burp error 决定当在 Intercept 中 drop 请求时,是否在页面中显示burp 的报错信息。

Repeater

重放数据包。

image-20210910130804551

image-20210910130828071

Intruder

数据包爆破

Target

image-20211008103600669

Positions⭐

image-20211008103833268

  • Sniper

    狙击手,一次只能替换一处标记。

  • Battering ram

    攻城锤,和 Sniper 很相似,不过一次可以替换多个标记。同一个值要出现在多个地方。

  • Pitchfork

    草叉,一对一。例如获取用户信息处需要同时输入用户名以及对应的手机号。

  • Cluster bomb

    集束炸弹,多对多。例如登录处同时爆破用户名以及密码。

Payloads⭐⭐

image-20211008155949416

  • Payload Sets

    用来控制payload 的形式。

    • Simple list:payload 列表。
    • Runtime file:和 simple list 类似,但如果payload 太多例如 8G,不好一次加载到内存中,所以可以运行时再读取每行。
    • Custom iterator:和 Cluster bomb 功能类似。a/b.c 目录名/文件名.后缀名 ,最终生成的payload 集合是三个集合的笛卡尔积。
    • Character substitution:将simple list 的中的字符串中的单个字符进行替换,生成相应的payload 集合。值得注意的是,如果将 e 替换为 3,那么 peer 将会生成三个payload peer/p3er/p33r
    • Case modification:更改 payload 大小写,生成多个 payload 。
    • Recursive grep:从上一个请求的响应中获取payload。在 Intruder.Options.Grep-Extract 中定义响应中需要被下一个请求使用的字符串。若使用此payload 形式,则必须将线程数量调整为1。
    • Illegal Unicode:unicode 替换以绕过某些关键字过滤。
    • Character blocks:重复一定次数指定的字符串。
    • Numbers:数字
    • Dates:日期
    • Brute forcer:从指定的字符集合中生成指定长度的字符串集合。
    • Null payloads:payload 为空,重复指定次数。
    • Character frobber:将字符串的每个字符逐个增加1位,例如 abc 会生成 bbc/acc/abd 三个。比较少用。
    • Bit flipper:逐个bit 翻转。比较少用。
    • Username generator:跟据输入的用户名,生成可能的用户名集合。
    • ECB block shuffler:ECB 块混洗。ECB 是一种分组加密方式。更改分组顺序可能会引起目标程序逻辑异常。
    • Extension-generated:由插件生成 payload。
    • Copy other payload:从其它的payload 拷贝。其用处并不只是单纯的拷贝,而是可以进一步通过 Payload Processing 进行处理。例如一个参数是另一个参数的 hash。

image-20211010144321716

  • Payload processing

    对payload 进行更改。支持以下几种方式。

    添加前后缀、替换、截取、更改大小写、编解码、hash、由扩展处理等等。

  • Payload Encoding

    对指定的字符串进行url 编码。

Resource Pool

工具内通用的资源池。通俗易懂

image-20211010144405598

Options⭐

一些控制选项。

image-20211010151515550

  • Save Options

    决定是否将这个 Intruder 保存到工程文件中。

  • Attack request headers

    更新请求headers。

  • Error handling

    决定 Intruder 在遇到错误如何处理。

  • Attack results options

    保存请求、响应。

    是否发起未进行修改的请求。

    是否使用 dos 攻击模式。指的是发送完一个请求后就关闭本地的 tcp 链接。不管是否接收到响应。

    表示是否保存 payloads,如果测试的漏洞会反射payload 到响应中,例如 xss。则要在 Options.Grep - payloads 标记响应时,必须要知道 payload。

image-20211010154247207

  • Grep - Match

    用来标记响应,在响应中搜素某个关键字。

  • Grep - Extract

    用来标记响应中的关键字,以便 Recursive grep 形式的 payload 使用。

  • Grep - Payloads

    用来标记响应,在响应中搜索 payload。

image-20211010154539564

  • Redirections

    决定是否跳转。

Sequencer

对数据包中特定参数进行数学统计分析。以检验其随机性强弱。

image-20211010155810509

Decoder

对数据进行编码或解码。覆盖常见的编解码、hash 方式。

image-20210910131000679

Comparer

对比两个 HTTP 数据包。按照字节、byte 对比两个数据包。

image-20210910131037355

image-20210910131108622

image-20210910131134987

Logger

记录所有工具产生的流量。

image-20210910131159575

Extender

burp 插件商店。管理插件。API 文档。

Extensions

管理插件。

image-20211010160744512

BApp Store⭐

插件商店。

image-20211010164127816

APIS

burp 的 API 文档。

image-20211010164233693

Options

插件自启动,以及更新。语言环境。

image-20211010164248851

Project options

设置该项目文件的选项。

Connections⭐

连接相关的设置。

image-20211010170031580

  • Platform Authentication

    HTTP 认证凭证,burp 将会使用这些凭证处理服务器 401 需要认证的响应。

  • Upstream Proxy Servers

    http 代理

  • SOCKS Proxy

    socks5 代理

  • Timeouts

    决定四种情况下触发 timeout 的阈值。

  • Hostname Resolution

    自定义 DNS 解析。

  • Out-of-Scope Requests

    是否丢弃不在范围内的请求。这个范围在 Target.Scope 中定义。

HTTP

关于HTTP 协议的一些设置。

image-20211010170820478

  • Redirections

    决定处理哪些重定向。

  • Streaming responses

    指定特定的流式响应url。因为流式响应和普通的响应不同。burp 采取的是存储转发的模型,会将所有流数据接收完毕后才给客户端,而正常逻辑是每到一个数据就传给客户端。

  • Status 100 responses

    决定如何处理 100 响应状态码?是原封不动返回 100 状态码,还是继续请求,返回其响应的状态码。

  • HTTP/2

    是否尽可能使用 HTTP/2

TLS

证书相关配置。

image-20211010172726620

  • TLS Negotiation

    允许进行协商的方法。

  • Client TLS certificates

    配置客户端证书。

  • Server TLS certificates

    显示从服务端接收到的证书。

Sessions

会话相关的管理。

image-20210909143256276

Session Handling Rules⭐

定义session 处理规则。

image-20210909143545879

  • 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 的插件。

image-20211010174223876

  • 定义此条处理规则应用的范围。

    工具、url、参数。三个方面的控制。

动态维持网站的每个 Cookie。并可以用在其它工具。

image-20211010215623510

Macros⭐

宏是一个或多个请求序列。可以用来自动进行登录或者获取 csrf token。

image-20210909140523533

image-20210909140551900

image-20210909140620803

Misc

一些其它设置。

image-20211010174928104

  • Scheduled Tasks

    自动暂停或继续执行 DashBoard 中的 Task 。

  • Burp Collaborator server

    collaborator server 相关的设置。

  • Logging

    记录哪些工具产生的流量。

  • Embedded Browser

    内置的浏览器相关设置。

User options

用户相关设置。比起Project options 来讲更通用。

Connections

image-20210907171357341

Platform Authentication

HTTP 认证凭证,burp 将会使用这些凭证处理服务器 401 需要认证的响应。

Upstream Proxy Servers⭐

http 代理

image-20210907171423267

SOCKS Proxy⭐

socks5 代理

TLS

证书相关的设置。

image-20210907171302910

Display⭐

显示相关设置

image-20210907170901759

  • User Interface

    控制 burp 界面的字体大小以及主题。

  • HTTP Message Display

    HTTP 消息框的显示控制。

  • Character Sets

    设置 HTTP 数据包中的编码字符集。

  • HTML Rendering

    在选择渲染视图时,是否是否为了渲染页面而发送额外请求,例如img、script 等。

Misc⭐

image-20210907165442845

  • Hotkeys

    快捷键。

  • Automatic Project Backup

    自动备份项目文件。

  • Temporary Files Location

    临时文件存放目录。

image-20210907165543127

  • REST API

    REST API 是一种 API 的规范标准,此处实际上就是 burp 的api 接口。

    实现的功能不多。

  • Proxy Interception

    burp 启动时 interception 的默认状态。

image-20210907165856343

  • Proxy History Logging

    当修改 Target.Scope 中的目标范围时,是否将不在目标范围内的流量发送给 Proxy.History 或其它工具。

  • Performance Feedback

    向burp 提交应用使用统计,以便 burp 进行改善。

  • Updates

    自动更新

image-20210907170654401

  • HTTP Message Search

    控制 HTTP 消息界面搜索框的默认设置。

  • Embedded Browser

    设置是否浏览器每次退出时清除个性化设置。

  • Learn Tab

    显示学习标签页

其它工具

Burp Infiltrator

用来加强 Burp Scanner 功能的一个jar 包。需要在目标网站系统上安装,它会对网站程序进行更改,然后当识别到 Scanner 扫描时会将程序执行的堆栈信息传递给 Collaborator 。以便更好的在代码层确认漏洞。

image-20211010183355915

Burp Clickbandit

用来生成点击劫持的 POC。

image-20211010183421606

Burp Collaborator client⭐

用来尝试 OOB 技术的工具。

image-20211010183441717

用于录制登录序列,以便 scanner 功能的自动登录功能使用。

image-20210909155408512

DOM Invader⭐

为了更方便的测试 XSS 。

image-20210909160032931

image-20211010161328491

image-20211010161331565

Mobile Assistant

IOS 平台应用测试助手。

MobileAssistant_15

分类:

技术点:

相关文章: