Burp Suite(一)

Burp Suite是由PortSwigger公司开发的一款集成式Web应用安全测试平台,被广泛用于发现和利用Web应用中的漏洞。

1 安装设置

  • 安装设置
    • 官网:https://portswigger.net,Support > Downloads,这里用Burp Suite Pro v2022.3.7破解版。
    • 设置字体样式:User options > Display > HTTP message display > Change font > 选Consolas 15。
    • 中文乱码处理:User options > Display > Character Sets > Use a specific character set > UTF-8。

安装设置

2 界面介绍

  • 界面介绍
    • Dashboard:用于执行自动化漏洞扫描,可以选择预定义或自定义扫描规则。
    • Target:用于设置测试目标,并让Burp Suite扫描目标应用程序以发现漏洞。
    • Proxy:代理服务器,是浏览器与目标应用的中间人,用于拦截和修改HTTP请求和响应。
    • Intruder:用于发送请求的多个副本,帮助确定目标应用程序是否易受到重复攻击的影响。
    • Repeater: 一个靠手动操作来补发单独的HTTP请求,并分析应用程序响应的工具。
    • Sequencer:用来分析那些不可预知的应用程序会话令牌和重要数据项的随机工具。
    • Decoder:将数据进行编码解码的工具,能够智能地识别多种编码格式。
    • Comparer:通过相关的请求和响应,得到两组数据的一个可视化比较。
    • Extender:第三方扩展插件,支持以多种方式自定义Burp Suite的行为。

3 漏洞扫描

  • Tasks任务扫描、Event log事件日志、Issue activity任务扫描结果、Advisory任务扫描详情。

漏洞扫描

3-1 新建扫描任务

  • Dashboard > Tasks > New scan > 设置扫描范围,设置黑白名单(Detailed scope configuration)。

漏洞扫描-新建扫描任务

3-2 添加扫描配置

漏洞扫描-添加扫描配置

3-3 设置登录认证

漏洞扫描-设置登录认证

3-4 自定义资源池

漏洞扫描-自定义资源池

3-5 新建实时任务

漏洞扫描-新建实时任务

4 测试目标

  • 测试目标
    • Site map:以树状结构提供站点的URL及请求响应等内容详情。
    • Scope:过滤排除一些干扰的包,或设置只抓取需要的对应包。
    • Issue definitions:漏洞百科,列出能检测到的所有潜在漏洞类型,并为其提供详尽的解释和修复建议。

测试目标

5 Proxy模块

  • Proxy模块
    • Intercept:核心功能之一,允许拦截应用请求,查看并修改请求,然后转发到目标服务器上。
    • HTTP history:记录了所有被拦截的数据包,使用户能够查看和分析之前的请求或响应数据。
    • Filter可筛选想要的数据包,点击标题栏则可进行排序查看。
    • WebSockets history:一般用来抓取实时聊天对话的数据包。
    • Options
      • Proxy Listeners:监听地址、端口、证书配置。
      • Intercept Client Requests:拦截请求包配置。
      • Intercept Server Responses:拦截响应包配置。
      • Match and Replace:通过字符串或正则表达式,将数据包的参数值进行动态匹配替换。
    • Burp Suite默认监听本地8080端口,只需将浏览器的流量转发到端口上,就能接收到数据。

5-1 安装插件

  • 安装插件
    • 安装Firefox或Google > 插件管理 > 搜索Proxy SwitchyOmega > 添加插件到浏览器中。
    • 这里使用Win10自带的Edge浏览器 > 安装Proxy SwitchyOmega 3插件 > 插件界面如下。

Proxy模块-安装插件

5-2 配置证书

  • 配置证书
    • 配置证书(Burp CA Certificate)是全局通用的,针对HTTPS网站确保抓取到网站数据包。
    • 而Proxy SwitchyOmega插件仅仅是快速切换浏览器的代理设置,就相当于是一个遥控器。
    • 若不想配置证书和安装插件,可使用Burp Suite > Proxy > Intercept > Open Browser。

(1) 获取证书

  • Burp Suite > Proxy > Options > Proxy Listeners > 点击Import / export CA certification。
  • Certificate in DER format > Next > Select file > 保存为BurpSuite.cer > Next > Close。

Proxy模块-配置证书-获取证书

(2) 导入证书

  • Edge > 设置 > 隐私、搜索和服务 > 安全性 > 管理证书 > 本地证书 > 自定义 > 导入受信任的证书。

Proxy模块-配置证书-导入证书

(3) 证书验证

  • 在Edge地址栏输入地址127.0.0.1:8080回车进行访问 > 显示Welcome说明证书配置成功。

Proxy模块-配置证书-证书验证

5-3 拦截请求

  • 拦截请求
    • Edge > 点击插件 > 选中proxy > 切回到Buip Suite > Proxy > Intercept > 点击Intercept is off。
    • 此时按钮变为Intercept is on > 切回Edge > 访问百度 > 再切回Buip Suite > 查看拦截到的请求。
    • Forward:数据包放行,一般用在修改完请求包参数值之后放行,若是图片、CSS、JS等直接放行。
    • Drop:数据包丢弃,即这个数据包不会发送到目标服务器上。
    • Intercept is off是关闭拦截器,Intercept is on是开启拦截器。
    • Action:转移到其他模块上操作,例如Intruder、Repeater等。

Proxy模块-拦截请求

5-4 拦截响应

  • Buip Suite抓取到请求包后 > 在Raw中右键 > Do intercept > Response to this request > Forward。

Proxy模块-拦截响应

6 手工重放请求

  • 以本地部署的DVWA登录为例,设置\WWW\DVWA\config\config.inc.php安全等级为low
1
2
3
4
5
6
7
8
9
# Default security level
# Default value for the security level with each session.
# The default is 'impossible'.
# You may wish to set this to either 'low', 'medium', 'high' or impossible'.
$_DVWA[ 'default_security_level' ] = 'low';

# 若修改完配置文件,登录时发现账号密码登录失败,则访问http://localhost:81/setup.php
# 点击Create / Reset Database,强制重置数据库
# 手动修改配置文件,容易出现由于数据库未初始化或Session冲突导致的登录失败

6-1 取消回环忽略

  • 取消回环忽略
    • 出于安全性、稳定性和性能的三重考虑,大部分浏览器都会默认忽略回环地址的代理设置。
    • Edge > Proxy SwitchyOmega 3插件 > 选项 > proxy > 不代理地址列表添加<-loopback>

手工重放请求-取消回环忽略

6-2 拦截请求转移

  • 拦截请求转移
    • Edge > 登录DVWA > Brute Force > 插件选proxy > 输入账号admin密码password。
    • Burp Suite > Proxy > Intercept > 点击Intercept is of > 开启请求拦截的操作。
    • 切回Edge > 点Login > Burp Suite拦截请求 > Raw中右键弹窗 > Send to Repeater。

手工重放请求-拦截请求转移

6-3 请求手工重放

  • 继拦截请求转移后 > 切到Repeater > 此时Request是转移后的请求内容 > Send > 查看Response。

手工重放请求-请求手工重放

7 爆破类型攻击

  • 爆破类型攻击
    • Intruder:可执行SQL注入、暴力破解等不同类型的攻击,用来测试Web应用程序的安全性。
    • Intruder是通过$符号进行参数指定的,例如:user=$admin$admin则是需要替换的值。

7-1 密码字典

7-2 攻击类型

  • 攻击类型
    • Sniper:一次只修改一个位置,其他位置保持原值。
    • Battering ram:所有位置同时使用同一个payload。
    • Pitchfork:多个位置,各自一组payload,按顺序一一对应。
    • Cluster bomb:多个位置做笛卡尔积,全部组合后完整爆破。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
GET /vulnerabilities/brute/?username=§admin§&password=§password§&Login=Login HTTP/1.1
同时标记了username、password

【Sniper】
payload:root、guest、123456
第一轮:改username、password保持不变
username=root&password=password
username=guest&password=password
username=123456&password=password
第二轮:username保持不变,改password
username=admin&password=root
username=admin&password=guest
username=admin&password=123456
考虑:哪个参数更敏感、单点fuzz、看是用户名还是密码问题、探测参数是否存在过滤差异

【Battering ram】
payload:root、guest、123456
username=root&password=root
username=guest&password=guest
username=123456&password=123456
考虑:多个参数要填同个值时、测试用户名=密码这类弱口令、同个token或同个输入被多个位置复用时

【Pitchfork】
payload 1:admin、guest、test
payload 2:password、12345、123456
username=admin&password=password
username=guest&password=12345
username=test&password=123456
考虑:已知账号密码是成对关系时、从泄露清单中已有账号密码配对、测试固定映射的数据
请求总数取决于最短列表,例如Payload 1有100个,Payload 2只有20个,则只会跑前20个

【Cluster bomb】
payload 1:admin、guest
payload 2:password、12345
username=admin&password=password
username=admin&password=12345
username=guest&password=password
username=guest&password=12345
考虑:用户名和密码都不确定、要做全组合尝试、登录爆破、表单枚举等
请求总数 = Payload 1个数 * Payload 2个数 = 4

7-3 密码爆破

  • 密码爆破
    • 仍然以本地部署的DVWA登录为例 > 继Proxy拦截请求转移后 > 切换到Intruder。
    • Intruder > Position > Attack type选Sniper > 点右侧的Clear $清空选中字段。
    • 根据需要,手动双击密码password字段的参数值 > 点击右侧的Add $选中该字段。
    • 由于事先知道用户密码,这里只爆破密码选Sniper即可,否则Cluster bomb最贴切。
    • Payloads > 负载Payload set默认1,负载类型Payload type默认选择Simple list
    • Payload Options [Simple list] > Load > 载入事先下载的密码字典 > 切到Options。
    • Grep - Match > 点Clear清除默认项 > 输入关键词例如Welcome > 再点击Add
    • 不勾选Case sensitive match(检查大小写敏感) > Start attcak > 等待爆破结果。

爆破类型攻击-密码爆破

7-4 负载类型

  • 负载类型
    • 直接给字典
      • Simple list:手工输入一个列表,每行一个payload。
      • Runtime file:从本地文件读取payload。
    • 自动生成
      • Numbers:自动生成数字序列。
      • Dates:自动生成日期。
      • Brute forcer:按指定的字符集和长度,自动生成所有可能的组合。
      • Character blocks:按字符范围或字符块生成内容。
      • Username generator:根据已知信息,自动生成一批候选用户名。
    • 基于已有值做变形
      • Custom iterator:把多个小列表按规则拼接起来,生成新的payload。
      • Character substitution:对已有字符串做字符替换变形。
      • Case modification:改变大小写形式。
      • Character frobber:一次修改原始值中的一个字符,观察响应差异。
      • Bit flipper:一次翻转某些bit,适合于二进制数据或是异常处理测试。
    • 高级联动或异常测试
      • Recursive grep:从服务器响应中提取内容,将其作为下一轮payload。
      • Illegal Unicode:用非法或异常的Unicode编码测试解析器。
      • Extension-generated:由Burp Suite的扩展生成payload。
      • ECB block shuffler:更偏加密分组测试,不适合普通表单登录。
      • Copy other payload:将另一个Payload Set的值直接复制过来。
      • Null payloads:每次请求payload实际没变化,但Burp仍会重复发送。

Burp Suite(一)
https://stitch-top.github.io/2026/02/09/ce-shi-gong-ju/tt09-burp-suite/tt01-burp-suite-yi/
作者
Dr.626
发布于
2026年2月9日 23:57:30
许可协议