1. Sniper 攻击(狙击手模式)
特点:
- Sniper 攻击是最基础的一种攻击类型,适用于单参数的简单测试。
- 它会逐一替换每一个 payload 插入点,其他位置保持不变,从而测试单个参数对应用的影响。
工作流程:
- 用户指定的参数位置被设为“插入点”,Burp Suite 会在这些位置依次替换 payload。
- 例如,如果你有三个不同的插入点,Sniper 会在第一个插入点替换 payload,其余位置保持原样,发送请求;然后对第二个插入点进行替换,重复这一过程。
典型使用场景:
- 测试单个参数的注入点,例如 SQL 注入、XSS、命令注入等。
- 识别系统对不同输入的响应行为。
优势:
- 高效、快速地测试单个参数。
- 适用于初步摸排目标系统的漏洞情况。
劣势:
- 如果有多个参数需要联合测试,Sniper 可能无法覆盖所有组合。
attack NO. | location A | location B |
---|---|---|
1 | 1 | no replace |
2 | 2 | no replace |
3 | no replace | 1 |
4 | no replace | 2 |
2. Battering Ram 攻击(攻城锤模式)
特点:
- Battering Ram 攻击允许在所有插入点上使用相同的 payload。
- 这意味着,如果你有多个插入点,Burp Suite 将用相同的值填充所有插入点,并发起请求。
工作流程:
- 假设你有两个插入点,Battering Ram 将用相同的 payload 替换这两个插入点的值,并发送请求。随后,它会将另一个 payload 替换所有插入点,再发送另一个请求。
典型使用场景:
- 测试多个参数共享相同的输入值时是否存在脆弱性。
- 特别适合测试加密算法、哈希函数等场景,参数共享相同的输入值时可能会导致问题。
优势:
- 适合测试多个插入点的同步攻击,例如多个参数都要求相同的密钥或标识符。
劣势:
- 如果每个插入点的 payload 需要不同,Battering Ram 的效用就会受限。
attack NO. | location A | location B |
---|---|---|
1 | 1 | 1 |
2 | 2 | 2 |
3. Pitchfork 攻击(草叉模式)
特点:
- Pitchfork 攻击是一种并行攻击类型,它允许在多个插入点上使用不同的 payload。每个插入点的 payload 将同步替换,所有插入点会同时被替换。
工作流程:
- Pitchfork 允许为每个插入点指定不同的 payload 列表,Burp 会同步从每个列表中取出一个值并发起请求。例如,如果你有两个插入点,各自有 5 个 payload,Burp 会组合每个插入点的对应值(如第一个插入点取 payload1,第二个插入点取 payload1),并发起 5 次请求。
典型使用场景:
- 测试多个参数的联合漏洞,例如用户名和密码字段的联合暴力破解。
- 当多个参数的值需要彼此关联时使用,比如在逻辑错误攻击中,两个参数互相影响时可以用 Pitchfork。
优势:
- 并行攻击,可以减少攻击时间。
- 有助于测试复杂参数的联合影响。
劣势:
- Payload 列表长度需一致,如果参数过多,可能需要大量的组合准备工作。
草叉模式允许使用多组payload组合,在每个标记位置上遍历所有payload组合,假设有两个位置“A”和“B”,payload组合1的值为“1”和“2”,payload组合2的值为“3”和“4”,则攻击模式如下:
attack NO. | location A | location B |
---|---|---|
1 | 1 | 3 |
2 | 2 | 4 |
4. Cluster Bomb 攻击(集束炸弹模式)
特点:
- Cluster Bomb 是 Burp Intruder 中最强大也是最复杂的攻击类型。它会对所有插入点进行“穷举式”攻击,即尝试每个插入点的所有可能 payload 组合。
工作流程:
- 用户为每个插入点定义一个 payload 列表,Burp 会计算所有可能的 payload 组合,并逐一发起请求。例如,如果你有两个插入点,第一个插入点有 5 个 payload,第二个插入点有 3 个 payload,Cluster Bomb 会生成 5×3=15 种不同的组合,每次替换一个组合并发送请求。
典型使用场景:
- 针对多个参数的联合脆弱性进行穷举测试。
- 当你不确定哪种参数组合可能导致漏洞时,Cluster Bomb 提供全面的测试覆盖。
- 使用在复杂表单或多层次的身份验证过程中,尝试找到突破点。
优势:
- 可以全面覆盖所有可能的参数组合,确保不会遗漏任何可能的漏洞。
劣势:
- 测试的请求数量可能会非常庞大,尤其是当有多个插入点且每个插入点的 payload 较多时,可能会生成成千上万的请求,消耗时间和资源。
attack NO. | location A | location B |
---|---|---|
1 | 1 | 3 |
2 | 1 | 4 |
3 | 2 | 3 |
4 | 2 | 4 |
实战技巧和优化建议:
-
攻击速度调节:
- 选择攻击速度: Burp Suite 提供从“慢速”(Throttle)到“最快”(Turbo)的攻击速度选项。如果目标系统有流量限制,建议使用慢速攻击以避免触发防护机制。
- 防止被封锁: 快速大量发送请求可能会触发目标服务器的防火墙或反爬虫机制。使用代理池、调整速率、或者模拟正常用户行为可以帮助减少封锁风险。
-
过滤和响应分析:
- 自动过滤无关响应: 为了提高效率,可以设置 Intruder 自动过滤特定响应(如 404 错误页面),这样你可以专注于有意义的响应数据。
- 响应长度分析: 在每次攻击后,Burp 会显示响应长度。突然的响应长度变化可能暗示存在漏洞,如登录成功、权限提升等。
-
自定义 Payload 和规则:
- 添加 payload 处理规则: 可以在 payload 设置中使用转换规则,比如 URL 编码、Base64 编码等,确保 payload 格式正确。
- 使用预置的 payload: Burp 提供丰富的 payload 选项(如常见的密码列表、SQL 注入语句等),可以快速应用到攻击中。
表格参考文献一起学安全测试——Burp Suite Intruder的4种攻击类型_安全测试中的sniper是什么意思-CSDN博客