Burp Suite基本用法

本文内容来自蚁景网安课程。

Burp Suite工作原理

flowchart LR id1["浏览器"] id2["BURP"] id3["服务器"] id1 <--> id2 <-->id3
Burp Suite在客户端和浏览器中间充当代理,能够捕获浏览器发送给服务器的HTTP请求。对于HTTPS,Burp Suite需要发起“中间人攻击”来获得HTTP明文。它不仅可以审计,还可以修改数据包内容并发送。

前期配置

配置Burp Suite和设置浏览器代理。

在proxy-options中可以看到默认端口为8080,也可以点击"Add"添加其他端口。

在浏览器设置中搜索“代理”,开启使用代理服务器,按照Burp中的内容设置地址和端口。

image-20220113141707245

在Burp中打开Intercept is on。

打开浏览器访问网站,Burp就会截获请求,再点击Forward把请求发送给服务器,并将响应记录下来。

了解Burp Suite基本功能

模块总览

Dashboard:用于显示Burp Suite的工作信息。

Target:显示目标目录结构。

Proxy:拦截HTTP/HTTPS的代理服务器,作为一个在浏览器和目标服务器之间的中间人,允许拦截,查看,修改两个方向上的原始数据流。

Intruder:一个定制的高度可配置的工具,对Web应用程序进行自动化攻击,如:枚举标识符,收集有用数据,以及使用fuzzing技术探测常规漏洞。

Repeater:用于重复发送相同的HTTP请求,并分析应用程序相应的工具。

Comparer:通过一些相关请求或响应得到两项数据的可视化差异。

Comparer模块

Comparer模块可以将不同的数据包进行比较,在截获的数据包右键Send to Comparer,这时Comparer模块中上下都出现了这条记录。

image-20220113142417644

再将另一条Send to Comparer,在上下区域分别选择这两条,然后选择右下角的Words(Bytes指按照字节流来比对)。

image-20220113142711870

Repeater模块

将截获的请求Send to Repeater,在Repeater模块中选择Send,右侧就会返回服务器的响应。(Send次数无限制。)

使用Repeater的目的是进行重放攻击测试,看服务器是否会对重放测试做出反应。

Intruder模块

Intruder模块包括四个选项卡:Target、Positions、Payloads、Options。

Target

用于设置暴力破解的host地址和端口号。

Positions

用于设置暴力破解的位置。默认情况下Burp会选中所有变量,如果要选择特定变量,则要选择clear$,然后再用鼠标选中需要暴力破解的变量值,并在右边选择add$添加爆破点,payload位置为两个$之间的部分。

Sniper

狙击手模式:对标记变量依次进行爆破。

特点:不管添加多少个标记位,只有一个字典。

Battering Ram

攻城锤模式:可对多个变量同时破解。

特点:一个字典对于多个标记位。

Pitchfork

草叉模式:每一个变量对应一个字典。

特点:爆破次数取决于变量少的字典。

Cluster Bomb

集束炸弹模式:组合爆破,每个变量对应一个字典,并交集爆破。

特点:爆破次数为字典1x字典2.

Payloads

用于选择字典或payload,视具体情况选择。如果有合适的字典,可以选择类型为simple list,然后load相应的字典文件。

Options

有关于其他细节的设置,包括攻击中使用的线程数、存储设置等等。

实际操作

想要截获HTTPS数据包需要安装Burp的证书。

打开127.0.0.1:[代理端口],下载CA证书,在浏览器设置中搜索“证书”,选择管理证书-受信任的根证书颁发机构-导入,即可顺利安装证书。

打开合天提供的网站,已知用户名为admin,密码随便填,选择“登陆”,并将Burp抓到的数据包Send to Intruder。

在Target中设置HOST和端口号。

在Positions中选择“password=”后面的内容为爆破点。

Payloads选择simple list并导入口令字典。

image-20220113150225454

选择Start Attack,将结果按Length排序。

image-20220113152343636

推测密码为“123456”。

image-20220113152522380

成功,得到flag。