Burp Suite(二)

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

1 自动化攻击

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

1-1 密码字典

1-2 攻击类型

  • 攻击类型
    • Sniper:一次只修改1个位置,其他位置保持原值。
    • 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

1-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 > 等待爆破结果。

自动化攻击-密码爆破

1-4 负载类型

  • 负载类型
    • 直接给字典
      • Simple list:手工输入1个列表,每行1个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仍会重复发送。

2 序列分析器

  • 序列分析器
    • 检测随机性的质量,用来分析关键数据,如:CSRF Token、Session ID等是否真的随机。
    • 原理:捕捉成千上万个Token,通过数学统计算法分析数据的熵,判断是否存在某种规律。
    • Live capture:从某个请求中指定一个Token位置,让Burp Suite自动发几千个请求并提取这些Token。
    • Manual load:如果有已经收集好的Token列表,可以直接粘贴进去。
    • Analysis options:结果以图表形式显示,若随机性评分低,说明Token可能被猜出来,导致会话劫持。

2-1 修改请求重放验证

  • 修改请求重放验证
    • 仍然以本地部署的DVWA登录为例 > 将DVWA的安全等级设为High > 继Proxy的拦截请求转移。
    • 切到Repeater > 删除请求地址问号后的参数内容(包括问号) > Send > 确保返回正常200页面。

序列分析器-修改请求重放验证

2-2 会话随机性的分析

  • 会话随机性的分析
    • Repeater > 右键修改请求重放后的Request > Send to Sequencer,发送请求到Sequencer。
    • 切换到Sequencer > Live capture > 在Select Live Capture Request中自动识别修改后的请求。
    • Token Location Within Response > Form field选带user_token的参数 > Start live capture。
    • 等待Burp Suite自动发送请求,收集不同的Session ID > 收集的Requests大致在2K到1W样本。
    • Stop > Analyze now > 可以看到结论带excellent,说明会话生成机制安全随机性高,无法预测。

序列分析器-会话随机性的分析

2-3 会话分析报告解读

  • 会话分析报告解读
    • 首要看Summary的Overall result,会给出会话令牌随机性的结论和有效熵(验证CSRF防护的强度)。
    • 蓝色柱状图(Significance Level):展示在不同显著性水平下的熵值,1%是业界最通用的参考标准。
    • 字符级分析(Character-level analysis):Token中每个位置的字符分布都很均匀。
    • 位级分析(Bit-level analysis):会将十六进制的Token转换成二进制0和1来分析。

3 编码解码器

  • 编码解码器
    • 快速转换数据格式,支持URL、HTML、Base64、Hex、Octal、Binary、Gzip等格式。
    • 以本地部署的DVWA登录为例 > 将DVWA的安全等级设为Low > 点SQL Injection页面。
    • 输入1' OR 1=1 # > Burp Suite的Proxy拦截请求 > 此时的id=1%27+OR+1%3D1+%23
    • 复制id=1%27+OR+1%3D1+%23 > 切到Decoder > 粘贴到上方文本框 > Decode as URL。

编码解码器

4 可视化比对

  • 可视化比对
    • 类似代码对比工具,专门为HTTP请求和响应设计,可以比对两个请求或响应的细微差别。
    • 以本地部署的DVWA登录为例 > 将DVWA的安全等级设为Low > SQL Injection (Blind)。
    • 在SQL Injection (Blind)中,输入内容提交不会直接报错,只会显示existMISSING

4-1 存在的ID

  • 存在的ID
    • 插件选proxy > Burp Suite > Proxy > Intercept > Intercept is of,开启请求拦截的操作。
    • 切回DVWA的SQL Injection (Blind)页面 > 输入1 > 点击Submit > Proxy将捕获请求内容。
    • Raw中鼠标右键Send to Repeater > 切到Repeater > Send > Response > Send to Comparer。

可视化比对-存在的ID

4-2 丢失的ID

  • 丢失的ID
    • 切回DVWA的SQL Injection (Blind)页 > 输入1' AND 1=2 # > Submit > Proxy捕获请求。
    • 在Raw中右键Send to Repeater > 切到Repeater > Send > Response > Send to Comparer。

可视化比对-丢失的ID

4-3 结果比对

  • 结果比对
    • Burp Suite > Comparer > 此时,Select item 1和Select item 2各有一条记录被选中。
    • 点击Compare下的Words > 按词进行比对 > 弹出对比窗 > 高亮标出左右不同的地方。

可视化比对-结果比对

5 日志记录器

  • 日志记录器
    • 记录Burp Suite所有模块包括Scanner、Intruder、Repeater,发出的每一个请求。
    • 请求包含内部产生的所有隐形流量,filter能对所有模块的日志内容进行过滤筛选。

日志记录器

6 插件扩展器

  • 插件扩展器
    • 支持安装第三方开发的插件扩展,或是自定义编写的脚本。
    • 例如:感觉手动测试SQL注入太累,可装个插件自动识别。
    • Burp Suite > Extender > BApp Store > HackBar > Install。
    • 推荐
      • Autorize:必装神技,专门用来测试越权漏洞的工具。
      • HackBar:在Burp里集成类似浏览器的HackBar工具。
    • 越权漏洞:Broken Access Control,权限校验逻辑出了问题。
      • 本质是后端逻辑错误,获取他人敏感数据或执行他人权限操作。
      • 攻击路径、关键因素:攻击者直接构造请求,常见修改ID参数。
    • 跨站请求伪造:CSRF,身份认证机制被利用,主要是Cookie。
      • 本质是浏览器机制缺陷,冒充用户身份执行特定的非预期操作。
      • 攻击路径、关键因素:攻击者诱导受害者点恶意链接,Cookie。

插件扩展器


Burp Suite(二)
https://stitch-top.github.io/2026/04/01/ce-shi-gong-ju/tt09-burp-suite/tt02-burp-suite-er/
作者
Dr.626
发布于
2026年4月1日 21:43:06
许可协议