Burp Intruder 支持多种攻击类型 - 这些攻击类型决定了将 payload 分配给 payload 位置的方式。可以使用请求模板编辑器上方的下拉列表选择攻击类型。可以使用以下攻击类型:
Sniper - 使用一组 payload。它依次瞄准每个 payload 位置,并将每个 payload 依次放置到该位置。未针对给定请求定位的职位不会受到影响 - 删除位置标记,并且模板中在它们之间出现的所有封闭文本均保持不变。对于常见漏洞,此攻击类型对于单独模糊处理多个请求参数很有用。攻击中生成的请求总数是位置数与 payload 集中的 payload 数的乘积。
Battering ram - 使用一组 payload。它遍历 payload,并将相同的 payload 立即放入所有定义的 payload 位置。当攻击需要将相同的输入插入请求中的多个位置(例如 Cookie 中的用户名和 body 参数)时,此攻击类型非常有用。攻击中生成的请求总数是 payload 集中的 payload 数量。
Pitchfork- 这使用多个 payload 集。每个定义的位置都有一个不同的 payload 设置(最多 20 个)。攻击会同时遍历所有 payload 集,并将一个 payload 放入每个定义的位置。换句话说,第一个请求会将 payload 集 1 中的第一 payload 置于位置 1,并将 payload 集 2 中的第一 payload 置于位置 2;第二个请求会将 payload 集 1 中的第二个 payload 放置在位置 1 中,并将 payload 集 2 中的第二个 payload 放置在位置 2 中,依此类推。这种攻击类型在攻击需要将不同但相关的输入插入到网络中多个位置的情况下很有用。(例如,在一个参数中插入用户名,在另一个参数中插入与该用户名相对应的已知 ID 号)。
Cluster bomb- 这使用多个 payload 集。每个定义的位置都有一个不同的 payload 设置(最多 20 个)。攻击会依次遍历每个 payload 集,以便测试 payload 组合的所有排列。即,如果有两个 payload 位置,攻击会将 payload 集 2 中的第一个 payload 置于位置 2,并迭代位置 1 中 payload 集 1 中的所有 payload;然后它将来自 payload 集 2 的第二个 payload 放置到位置 2,并迭代位置 1 中 payload 集 1 中的所有 payload。当攻击需要在多个位置插入不同且不相关或未知的输入时,此攻击类型非常有用(例如,在猜测凭据时,用户名在一个参数中,密码在另一个参数中)。