Burp Intruder主要有四个模块组成:

1:Target 用于配置目标服务器进行攻击的详细信息。 2:Positions 设置Payloads的插入点以及攻击类型(攻击模式)。 3:Payloads 设置payload,配置字典 4:Opetions 此选项卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你可以发动攻击之前,在主要Intruder的UI上编辑这些选项,大部分设置也可以在攻击时对已在运行的窗口进行修改。


attack type:攻击模式设置

截图

  • sniper:对变量依次进行破解。多个标记依次进行。
    • 只能有一个payload
    • 这种攻击类型是指逐个处理 Payload 列表中的每个 Payload。
    • 每个 Payload 都会单独被插入到标记的位置,逐个测试,适用于针对单个位置进行深入测试的场景。
    • 如果设置了三个变量A、B、C,设置了九个payload,那么先将payload插入到A变量中,当A变量测试完毕,将payload插入到B变量中,最后将payload插入到C变量进行测试.

  • battering ram:对变量同时进行破解。多个标记同时进行。

    • 只能有一个payload
    • 它是Sniper的升级版,和sniper相比,battering Ram更有效率,他的原理是,同时在多个变量中进行插入测试。

  • pitchfork:每一个变量标记对应一个字典,取每个字典的对应项。

    • 允许设置多个payload。
    • 攻击类型是指同时处理两个位置,每个位置有各自的 Payload 列表。
    • 它会按照不同的组合,将第一个 Payload 和第二个 Payload 一一配对,也就是说,他会同时去测试第一个payload和第二个payload的组合。(如果两个 Payload 列表的长度不一致,Pitchfork 模式会以数量较少的那个列表为基准,按照少的列表项数进行配对测试)
    • 这种攻击方式可用于测试需要两个或多个位置同时受到影响的场景。
  • cluster bomb:每个变量对应一个字典,并且进行交集破解,尝试各种组合适用于用户名+密码的破解

    • 允许设置多个payload。
    • 它更像是Pitchfork的加强版,它的功能与Pitchfork一样,可以同时测试多个payload,不同的是它的测试方式,是使用笛卡尔积,例如设置两个变量A、B,和两个payload位置,payload会交叉测试,也就是说payload1首先会是在变量A的位置,去测变量B中的payload2中所有的参数 ,当变量B中的payload2所有参数都测试完,变量A、B的payload会互相交换位置,进行测试,用最通俗的话来讲,他们就是乘法关系,假如连个payload中的参数是4个,那么他就会测试4*4=16次。
    • Cluster Bomb 通过组合 Payload 列表,生成了更多的组合,这样可以更全面、更彻底地测试目标应用程序,寻找潜在的漏洞。

payload type

Simple list(简单列表): 基本的常规 Payload 列表,可能包含用户名、密码或常见字符串。 Runtime file(运行时文件): 在运行时生成或读取文件作为 Payload,用于测试文件上传或处理漏洞。 Custom iterator(自定义迭代器): 使用自定义算法或迭代方法生成 Payload。 Character substitution(字符替换): 对字符进行替换或修改来生成不同形式的 Payload。 Case modification(大小写修改): 改变字符的大小写来生成不同形式的 Payload。 Recursive grep(递归查找): 使用递归方式搜索目标系统,生成特定形式的 Payload。 Illegal Unicode(非法 Unicode): 使用不合法或特殊的 Unicode 字符串生成 Payload。 Character blocks(字符块): 将字符分组或分块,以块为单位生成 Payload。 Numbers(数字): 针对数字型输入生成不同种类的数字 Payload。 Dates(日期): 针对日期型输入生成不同形式的日期 Payload。 Brute forcer(暴力破解器): 用于尝试各种可能性的暴力破解 Payload。 Null payloads(空 Payload): 使用空值或空字符串作为 Payload。 Character frobber(字符操作): 对字符进行多种操作生成 Payload。 Bit flipper(位操作): 对比特位进行操作生成 Payload。 Username generator(用户名生成器): 生成各种类型的用户名 Payload。 ECB block shuffler(ECB 块置换器): 针对 ECB 模式加密的情况生成 Payload。 Extension-generated(扩展生成): 由扩展或自定义脚本生成的特定 Payload。 Copy other payload(复制其他 Payload): 复制已有 Payload 作为新的 Payload。 Collaborator payloads(协作者 Payload): 使用 Burp Collaborator 进行协作的特定 Payload。


Payload Settings(Payload 设置):

这涉及对 Payload 进行特定配置的选项或设置。这些设置可能包括 Payload 的类型(例如字典、数字、特殊字符)、长度、频率等参数。Payload Settings 允许用户根据需要自定义和调整 Payload 的属性。


Payload Processing(Payload 处理):

这指对 Payload 进行处理、编辑或转换的过程。这可能包括对 Payload 进行编码、加密、压缩或其他形式的修改,以适应目标系统的特定要求或规范。


Payload Encoding(Payload 编码):

这涉及将 Payload 转换成特定格式或编码的过程。这种编码可以用于绕过输入过滤或实现特定攻击类型(例如 XSS 或 SQL 注入)。Payload Encoding 可以将 Payload 转换成 URL 编码、Base64 编码等形式,以确保在网络传输或系统处理中不会被错误解释。


Grep - match:

定义匹配规则以筛选攻击响应中的特定文本。这可以用于标识成功的攻击或者查找感兴趣的信息。