burp suite 2023.10 Intruder模块详解)

burp suite 2023 Intruder模块详解

Intruder 模块是Burp suite的一个重要功能,用于自动化攻击和对目标应用程序进行大规模的攻击测试。

其主要功能包括:

  1. Payloads 设置: 用户可以定义不同类型的 payload,例如字典、数字范围、定制字符集等。这些 payload 可以被插入到请求的特定位置,测试目标的弱点,比如尝试不同的用户名和密码组合进行暴力破解,或者测试 SQL 注入、XSS 等漏洞。
  2. 位置标记: Intruder 允许用户在请求中标记不同的位置,以便在攻击时替换成不同的 payload。这些标记可以是 URL 参数、Cookie、HTTP 请求头、请求正文等。
  3. 攻击类型: 提供了不同类型的攻击方式,包括 Sniper、Battering Ram、Cluster Bomb、Pitchfork 等。每种攻击方式有不同的特点,适用于不同类型的测试场景。
  4. 结果分析: Intruder 会对每次攻击的结果进行记录,并提供详细的分析报告。用户可以查看每个 payload 的响应,识别可能的安全漏洞和攻击成功点。
  5. 自动化: 用户可以通过设置规则和条件来自动化攻击过程,提高测试效率。例如,设置触发条件,当检测到特定响应内容或状态码时停止攻击。

Positions 设置Payloads的插入点以及攻击类型(攻击模式)。

Burp Suite 中的 Intruder 模块里的 Positions(位置)是指在攻击中用于注入 Payload(有效载荷)的特定位置或字段。这些位置可以是 HTTP 请求中的参数、标头、cookies 或正文中的特定部分。在 Intruder 模块中,你可以标记这些位置,然后将 Payload 插入到这些位置,以测试目标应用程序的安全性。

这些位置标记允许你定义要攻击的具体部分,比如尝试不同的用户名、密码、参数值或其他输入。在攻击期间,Burp Suite 将会针对这些位置自动化地替换 Payload,以便进行大规模的测试,识别目标应用程序可能存在的弱点或安全漏洞。

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 列表,生成了更多的组合,这样可以更全面、更彻底地测试目标应用程序,寻找潜在的漏洞。

位置标记变量

Add(添加): 允许你添加要测试的目标。可以是 URL、HTTP 请求、参数等。通过此选项添加目标后,你可以设置 Payload 和其他攻击参数。

Clear(清除): 用于清除当前配置的所有设置,包括 Payload、Headers、位置标记等。这样可以快速清除并重新配置 Intruder,以便进行新的测试。

Auto(自动): 自动化选项,可以让 Burp Suite 在攻击时自动处理某些条件。例如,在遇到特定的响应内容或状态码时停止攻击,或者在攻击结束后自动保存结果。

Refresh(刷新): 用于刷新界面或数据,确保显示的内容是最新的状态。

payloads 设置payload,配置字典

它用于攻击目标的不同有效载荷或数据。在渗透测试、安全审计或漏洞测试中,Payloads 是指用于检测目标系统漏洞或弱点的各种输入。

Payload Sets(Payload 集合):

这是一组不同类型、不同格式或不同目的的 Payload。Payload Sets 允许安全专业人员在测试中选择不同的 Payload 组合,比如用户名字典、密码字典、特殊字符集等。这些集合可以根据测试需求进行组织和配置。

payload set 就是用于设置payload数量,在Pitchfork、Cluster Bomb中可以去设置更多的payload数量进行测试

payload type 就是payload的类型,其中包括以下:

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

Resource pool 设置资源池

在 Burp Suite 中,资源池(Resource Pool)可能涉及到设置并控制工具的并发效率。

  1. 连接池大小: 控制 Burp Suite 与目标应用程序之间建立的并发连接数量。较大的连接池大小可以允许 Burp 同时处理更多的连接,从而加快扫描速度或其他网络交互。
  2. 线程池设置: 用于控制 Burp Suite 执行任务所使用的线程数量。通过调整线程池的设置,可以影响工具执行扫描、代理、爆破等任务时的并发处理能力。

我们可以自己创建一个新的规则

其中

  • Maximum concurrent requests(最大并发请求):就是设置并发的最大数量,这个值越大,burp suite的效率就越高,

  • Delay between requests(请求之间的延迟):设置请求之间的延迟,是指在进行扫描、爆破或其他与目标系统交互的操作时,Burp Suite 发送连续请求之间的时间间隔。

    • Fixed(固定): 指定一个固定的延迟时间,Burp Suite 在发送每个请求时都会等待这个固定的时间间隔,保持间隔不变。
    • With random variations(带随机变化): 在固定延迟的基础上,可能会增加一定的随机性,即在固定的基础上添加随机的延迟时间。这有助于模拟真实用户的行为,因为真实用户的行为往往不是完全规律和预测的。
    • Increase delay in increments of(递增延迟): 这个选项可能允许用户指定一个初始延迟时间,并且可以按照一定的增量逐步增加延迟时间。例如,可以设置初始延迟时间为1秒,然后每次增加1秒,或者按照其他规则逐步增加延迟时间。这样做的目的可能是逐步测试目标系统的稳定性或防御机制的反应。

Automatic throttling(自动节流):它是一种功能,可以模拟不同网络速度下的应用程序行为。它通过限制请求的发送速率来模拟较慢的网络条件。

它可以让你模拟低带宽或高延迟的网络条件,从而帮助你观察应用程序在这些条件下的反应,并找出潜在的性能问题,比如请求超时、页面加载速度慢或者应用程序在低网络条件下的不稳定行为。

它下面的参数 429、503、Other,的意思是说明。在服务器返回相同的状态码,触发automatic throttling功能。

Settings (intruder设置)

Save attack(保存攻击):

保存攻击,允许你将攻击的配置保存为文件,以便稍后重用或共享。

当点击保存选项后,保存的攻击文件通常保存在Burp Suite的工作目录中的特定文件夹中。

Request headers(请求头部信息):

设置用于攻击的请求头部信息。你可以在这里编辑或修改请求头。

这里有两个选项:

  • Update Content_Length herder
    • 如果你选择了这个选项,在你修改了请求的内容后,Burp Suite会自动更新请求头中的Content-Length字段。这确保了Content-Length字段的值与实际请求体的长度相匹配,保证了请求的有效性和正确性。
  • set Connection header :
    • 如果你选择了这个选项并设置了Connection头部的值,Burp Suite会在发送请求时将设置的Connection头部值包含在请求中。例如,如果你设置为 "close",那么在请求完成后服务器可能会关闭连接,而设置为 "keep-alive" 则可能会保持连接打开。
Error handling(错误处理):

定义在攻击过程中如何处理错误响应。你可以配置Burp如何识别和处理错误。

其中有两个配置参数:

Number of retries on network failure(网络故障时的重试次数):

  • 这个选项允许你设置在网络失败时Burp Suite尝试重新发送请求的次数。如果在发送请求时发生网络故障(例如连接超时或网络错误),Burp Suite可以根据你设置的值尝试重新发送请求。

pause before retry(milliseconds)(网络失败重试次数):

  • 这个选项允许你设置在进行重试之前的暂停时间,单位为毫秒。当网络失败后,Burp Suite会在进行下一次重试之前等待设置的暂停时间。
Attack results(攻击结果):

配置攻击结果的处理方式,比如是否保存攻击结果、保存格式等。

  • Store requests: 保存请求。启用这个选项后,Burp Suite会保存发送的请求,你可以随时查看和分析这些请求,有助于审查攻击过程中发送的具体请求内容。
  • Store responses: 保存响应。启用这个选项后,Burp Suite会保存从服务器收到的响应,这有助于审查攻击后服务器的响应内容和状态。
  • Make unmodified baseline request: 发送未修改的基线请求。这个选项允许在攻击过程中发送一个未修改的基准请求,用于比较其他攻击请求的效果。这有助于分析和比较攻击请求与原始请求的差异。
  • Use denial-of-service mode (no results): 使用拒绝服务模式(无结果)。启用这个选项后,Burp Suite会执行攻击,但不会保存任何结果。这个模式用于模拟攻击,但不会生成结果,通常用于测试负载和目标系统的承受能力,而不会生成分析结果。
  • Store full payloads: 保存完整的有效负载。启用这个选项后,Burp Suite会保存攻击中使用的完整有效负载数据,有助于分析和审查使用的有效负载。
Grep - match:

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

Grep - Extract:

从响应中提取特定的部分文本。这可以用于从响应中提取并进一步利用感兴趣的数据。

Grep - payloads:

配置Burp在响应中寻找的有效负载,用于在攻击中识别有效的注入点或漏洞。

Redirections:

控制是否跟随重定向。你可以设置Burp如何处理攻击中的重定向。

HTTP/1 connection reuse:

控制是否重用HTTP/1连接。你可以配置Burp是否允许在攻击中重用连接。

HTTP version:

设置要使用的HTTP协议版本,允许你指定攻击时使用的HTTP协议版本。

相关推荐
小蜗牛慢慢爬行4 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
MARIN_shen9 分钟前
Marin说PCB之POC电路layout设计仿真案例---06
网络·单片机·嵌入式硬件·硬件工程·pcb工艺
m0_748240021 小时前
Chromium 中chrome.webRequest扩展接口定义c++
网络·c++·chrome
終不似少年遊*1 小时前
华为云计算HCIE笔记05
网络·华为云·云计算·学习笔记·hcie·认证·hcs
蜜獾云1 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小林熬夜学编程2 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Hacker_Fuchen2 小时前
天融信网络架构安全实践
网络·安全·架构
上海运维Q先生2 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
ProtonBase3 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
fantasy_arch12 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化