Cluster bomb(集束炸弹)*

免责声明

本内容仅供学习、知识共享和进行技术探讨之用。以下声明适用于学习本内容的所有人员和相关内容:

  1. 无法律责任
    本交流中的内容和建议基于现有的知识和经验,可能存在错误或不适用于特定情境。使用本内容所产生的任何后果,由使用者自行承担。本内容发起者及参与者不对因使用该内容而导致的直接或间接损失负责。
  2. 合规与合法性
    所有学习者应确保在获取、使用和传播时遵守相关法律法规和行业规范。不得传播非法信息或从事任何违反法律的活动。
  3. 版权与知识产权
    本内容中如有引用的任何第三方内容(如代码片段、文档或资源)均归原作者或版权所有者所有,使用者需遵守相应的版权声明。
  4. 不保证适用性
    本学习内容可能不适合所有情境或项目,使用者应根据实际需求进行分析和测试,确保内容的适用性和安全性。

一、核心定义

集束炸弹模式是一种针对 多个 HTTP 请求参数,以笛卡尔积形式(即所有组合) 注入 多组 有效载荷(Payload)的攻击模式。它的工作方式就像军事上的集束炸弹:母弹(攻击请求)中包含多个子弹(Payload 集),爆炸后(发起攻击),这些子弹会覆盖并打击目标区域内的所有可能组合。
核心特点: 为每个标记的参数位置配置 独立的 Payload 集合,Intruder 会遍历所有 Payload 集之间的所有可能组合,并将每种组合发送一次请求。

二、工作机制详解

1. 多变量,全组合覆盖

首先需要标记多个想要测试的参数(例如 username 和 password)。
Cluster bomb 模式为每一个标记的参数位置分配一个独立的 Payload 集。
在发起攻击时,Intruder 会使用嵌套循环的方式,生成所有 Payload 集之间的每一个可能的组合。

2. 工作流程

步骤 1:标记 2 个参数:A (位置1) 和 B (位置2)。
步骤 2:准备 两个 Payload 列表:
Payload Set 1 (对应位置 A): P1_A, P2_A
Payload Set 2 (对应位置 B): P1_B, P2_B, P3_B
步骤 3:Burp Intruder 会按以下顺序发起攻击请求:
(外层循环:Set 1;内层循环:Set 2)
请求 1: A=P1_A, B=P1_B (固定Set1的第1个,遍历Set2)
请求 2: A=P1_A, B=P2_B
请求 3: A=P1_A, B=P3_B
(Set2遍历完毕,Set1索引+1)
请求 4: A=P2_A, B=P1_B (固定Set1的第2个,遍历Set2)
请求 5: A=P2_A, B=P2_B
请求 6: A=P2_A, B=P3_B
总请求数 = 所有 Payload 集合长度的乘积。如上例,是 2(Set1 长度) × 3(Set2 长度) = 6(个请求)。

3.图示(笛卡尔积):

在这里插入图片描述

三、典型应用场景

集束炸弹模式是测试需要特定参数组合才能触发的复杂漏洞的终极武器。

1.暴力破解 (Brute-force Attacks)

这是最典型的应用。对登录表单进行暴力破解,需要尝试所有可能的用户名和密码组合。使用 Cluster bomb,可以将一个用户名字典(Set1)和一个密码字典(Set2)进行所有组合的尝试(user1:pass1, user1:pass2, …, user999:pass999)。

2.复杂输入漏洞

测试一些需要多个参数以特定方式组合才能触发的漏洞。例如,一个文件上传功能,需要同时绕过文件类型、文件路径、文件内容三个检查点。可以为这三个参数分别设置Payload集,测试所有可能的绕过组合。

3.逻辑漏洞与业务绕过

测试购物车商品修改逻辑,其中一个参数是product_id,另一个是quantity。可以用一个集测试商品ID(尝试越权访问他人商品),另一个集测试数量(尝试负数、零、极大值),从而覆盖所有可能的恶意操作组合。

4.多因素认证爆破

在一些设计薄弱的二次认证环节(如PIN码),可能需要同时爆破user_token(从第一个响应中获取的列表)和pin_code(一个数字字典)。

四、优点与缺点

优点:

测试覆盖最全面:能够穷尽所有参数的所有可能组合,确保不会漏掉任何潜在的漏洞组合。它是四种模式中测试强度最大、覆盖最彻底的模式。
功能强大:是进行真正的暴力破解和复杂逻辑测试的唯一选择。其他模式无法实现这种全面的组合测试。

缺点:

请求数量爆炸性增长:这是其最显著的缺点。总请求数是各Payload集大小的乘积。即使使用很小的字典,也会快速生成海量请求(例如,两个包含1000个项目的字典会产生100万次请求),极易对服务器造成拒绝服务(DoS),且测试时间极长。
效率极低:会产生大量无效请求。在暴力破解中,绝大多数username:password组合都是错误的。
结果分析繁琐:生成的庞大数据集需要配合良好的过滤和排序技巧,才能高效地分析出成功的请求。

五、总结

在这里插入图片描述

六、选择指南

测试单个参数? -> 用 Sniper。
测试多个参数是否接受相同值? -> 用 Battering ram。
测试多个参数是否存在已知的对应关系(列表A的第n项对应列表B的第n项)? -> 用 Pitchfork。
需要测试多个参数的所有未知可能组合? -> 用 Cluster bomb(谨慎使用)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值