burp suite 2023.10 Intruder模块详解)

news2024/12/25 9:10:26

burp suite 2023 Intruder模块详解

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

image-20231124222536103

其主要功能包括:

  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,以便进行大规模的测试,识别目标应用程序可能存在的弱点或安全漏洞。

image-20231124222926694

Attack type攻击类型

Sniper(狙击手):

image-20231124230813698

  • 只能有一个payload

  • 这种攻击类型是指逐个处理 Payload 列表中的每个 Payload。

  • 每个 Payload 都会单独被插入到标记的位置,逐个测试,适用于针对单个位置进行深入测试的场景。

  • 如果设置了三个变量A、B、C,设置了九个payload,

  • image-20231124225650291

  • 那么先将payload插入到A变量中,当A变量测试完毕,将payload插入到B变量中,最后将payload插入到C变量进行测试.

  • image-20231124225359638

Battering Ram(破城锤):

image-20231124230823228

  • 只能有一个payload

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

  • image-20231124230512644

Pitchfork(叉子):

image-20231124230831819

  • 允许设置多个payload。

  • 攻击类型是指同时处理两个位置,每个位置有各自的 Payload 列表。

  • image-20231124231652200

  • 它会按照不同的组合,将第一个 Payload 和第二个 Payload 一一配对,也就是说,他会同时去测试第一个payload和第二个payload的组合。(如果两个 Payload 列表的长度不一致,Pitchfork 模式会以数量较少的那个列表为基准,按照少的列表项数进行配对测试)

  • image-20231124231808535

  • 这种攻击方式可用于测试需要两个或多个位置同时受到影响的场景。

Cluster Bomb(集束炸弹):

  • 允许设置多个payload。

  • 它更像是Pitchfork的加强版,它的功能与Pitchfork一样,可以同时测试多个payload,不同的是它的测试方式,是使用笛卡尔积,例如设置两个变量A、B,和两个payload位置,payload会交叉测试,也就是说payload1首先会是在变量A的位置,去测变量B中的payload2中所有的参数 ,当变量B中的payload2所有参数都测试完,变量A、B的payload会互相交换位置,进行测试,用最通俗的话来讲,他们就是乘法关系,假如连个payload中的参数是4个,那么他就会测试4*4=16次。

  • image-20231124233343335

  • Cluster Bomb 通过组合 Payload 列表,生成了更多的组合,这样可以更全面、更彻底地测试目标应用程序,寻找潜在的漏洞。

位置标记变量

image-20231124233517960

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

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

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

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

payloads 设置payload,配置字典

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

image-20231124233653078

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 的属性。

image-20231124234713045

Payload Processing(Payload 处理):

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

image-20231124234727178

Payload Encoding(Payload 编码):

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

image-20231124234851797

Resource pool 设置资源池

image-20231124235102478

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

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

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

image-20231124235642093

其中

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

image-20231125111700350

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

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

Settings (intruder设置)

Save attack(保存攻击):

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

  • image-20231125112855228

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

Request headers(请求头部信息):

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

image-20231125113438944

这里有两个选项:

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

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

image-20231125113918068

其中有两个配置参数:

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

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

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

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

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

image-20231125180626960

  • 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:

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

image-20231125181338175

Grep - payloads:

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

image-20231125181434845

Redirections:

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

image-20231125181450388

HTTP/1 connection reuse:

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

image-20231125181512738

HTTP version:

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

image-20231125181521683

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1251941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 前后端分离项目Vue部署应用

一、视图创建 from django.http import JsonResponse from django.shortcuts import render# Create your views here. from django.views import Viewclass IndexView(View):def get(self,request):# 前后端分离 (前端JS代码渲染数据)return JsonRespo…

用Python进行数据分析:探索性数据分析的实践与技巧(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Elasticsearch集群部署 head监控插件 Kibana部署 Nginx反向代理 Logstash部署

一、组件介绍1、Elasticsearch:2 、Logstash3、Kibana4、Kafka:5、Filebeat: 二、 Elasticsearch集群部署服务器创建用户安装ES修改配置文件创建数据和日志目录设置JVM堆大小 #7.0默认为4G修改安装目录及存储目录权限系统优化(1)增…

DGL的图数据处理管道

DGL在 dgl.data 里实现了很多常用的图数据集。它们遵循了由 dgl.data.DGLDataset 类定义的标准的数据处理管道。 DGL推荐用户将图数据处理为 dgl.data.DGLDataset 的子类。该类为导入、处理和保存图数据提供了简单而干净的解决方案。 DGL中的Dataset类 它是处理、导入以及保存…

BTP-K710自定义纸张大小

进入控制面板 输入 control 打开打印机 点击查看设备和打印机 打开打印机属性 鼠标右击 -> 点击打开打印机属性 如果上面没有你想要的尺寸 点标签库 -> 选中Custom Paper-BPLZ -> 然后修改宽度和高度 -> 点击应用 选择Custom Paper-BPLZ 最后点击确定 这样…

计数问题+约瑟夫问题(map)

目录 一、计数问题 二、约瑟夫问题 一、计数问题 #include<iostream> #include<map> using namespace std; int main() {int n,x;cin>>n>>x;map<int,int>m;for(int i1;i<n;i){if(i>1 && i<10){m[i];}else{int temp i;while (…

Task.Run为什么会存在内存泄漏的风险?

由于值类型是拷贝方式的赋值&#xff0c;捕获的本地变量和类成员是指向各自的值&#xff0c;对本地变量的捕获不会影响到整个类。但如果把类中的值类型改为引用类型&#xff0c;那这两者最终指向的是同一个对象值&#xff0c;这是否意味着使用本地变量还是无法避免内存泄漏&…

1.如何修改seruat对象的行名 2.FeaturePlot如何把所有阳性表达的spot放到图的前面

本有解决标题中的两个问题 1.答案是修改不了&#xff0c;不如重新制作一个seurat对象。 试图使用rownames&#xff08;obj&#xff09;featurenames是不成功的 记录 客户需求遇到一个问题&#xff1a;作者提供的rds文件行名为ensemble id&#xff0c;如何改成gene symbol。 …

解决hbuilder使用android studio模拟器不能热更新

hbuilder使用android studio模拟器编&#xff0c;在编写代码时&#xff0c;不能热更新&#xff0c;总是需要重启虚拟机中的程序&#xff0c;hbuilderx的版本是3.1.22&#xff0c;android studio的版本是4.2.2 同时在hbuilderx中出现如下报错信息&#xff1a; 报错信息&#x…

ASP产品通过网络安全专用产品安全认证

什么是网络安全专用产品安全检测&#xff1f; 网络安全专用产品安全检测是指对网络关键设备和网络安全专用产品进行安全性评估和检测&#xff0c;以确保其符合相关标准和法规的要求&#xff0c;能够有效地抵御网络攻击和威胁。该检测由具备资格的机构进行&#xff0c;采用认证…

禁止指定电脑程序运行的2种方法

你可能要问了&#xff0c;为什么要禁止电脑程序运行呢&#xff0c;因为有的公司要净化公司的工作环境&#xff0c;防止某些刺头员工在公司电脑上瞎搞。也有部分家长&#xff0c;是为了防止自己家的孩子利用电脑乱下载东西。 今天就分享2种禁止指定电脑程序运行的方法&#xff1…

C语言SO EASY(ZZULIOJ1220: SO EASY)

题目描述 Superbin最近在研究初等数论&#xff0c;初等数论 是研究数的规律&#xff0c;特别是整数性质的数学分支。它是数论的一个最古老的分支。它以算术方法为主要研究方法&#xff0c;主要内容有整数的整除理论、同余理论、连分数理论和某些特殊不定方程。 是定义在正整数…

【DP】mobiusp正在创作乐曲

输入样例1&#xff1a; 5 2 1 7 7 1 3 输出样例1&#xff1a; 2 输入样例2&#xff1a; 10 3 2 5 6 4 4 5 7 3 5 6 输出样例2&#xff1a; 1 #include<iostream> #include<cstring> #include<algorithm> #include<vector> using namespace std; typede…

遥遥领先!TinyEngine 低代码引擎更新升级!AI 已成功部署!

官网更新 1. 协议规范优化更新 协议规范交互优化&#xff0c;能够在一页里面自由切换&#xff0c;提高用户体验&#xff0c;后端SDK文档字段描述补齐&#xff0c;助力开发者自助进行服务端开发。 2.使用手册全新改版 去掉之前的学院课程&#xff0c;新设计新分类让结构一目了…

【云备份】文件操作实用工具类设计

文章目录 为什么要单独设计文件工具类&#xff1f;整体实现Filesize ——文件大小stat接口 LastMTime ——最后一次修改时间LastATime —— 最后一次访问时间FileName —— 文件名称GetPostLen ——获取文件指定位置 指定长度的数据GetContnet —— 读取文件数据SetContent ——…

文献速递:人工智能在新生儿重症监护室:现在是时候了

人工智能在新生儿重症监护室&#xff1a;现在是时候了 01 文献速递介绍 文章介绍了AI的多学科特性&#xff0c;包括计算机科学、数学、神经科学和哲学。AI的目标是通过各种计算和算法技术创建智能机器。尽管早期对人类水平AI的预测未能实现&#xff0c;但对AI的期待仍然强烈…

图书馆管理系统源码(Java)

Book包->内含Book类与BookList类 Book类 用于初始化图书并对其进行操作 BookList类 用于存放多本图书 Book类 package Book;public class Book {private String name;private String author;private int price;private String type;private boolean isBorrow;//写一个…

10.打印楼梯图案和笑脸【2023.11.25】

1.问题描述 打印楼梯图案和笑脸 2.解决思路 3.代码实现 #include<stdio.h> int main(){printf("11\n");for(int i0;i<10;i){for(int j0;j<i;j){printf("FF"); }printf("\n");} return 0; }4.运行结果

Java研学-异常

一 异常 异于正常状态的显示,即控制台显示结果与预期的不一致 // 抛出异常java.lang.ArrayIndexOutOfBoundsException int[] nums new int[2]; System.out.print(nums[2]);二 异常分类 1 检测性异常:有称为非运行时异常,一般是在编写代码的过程中编程软件直接报错 2 非检测…

用Python写的自动答题脚本,正确率99%,刷课必备

咱们上学的时候&#xff0c;有些课程&#xff0c;不是很重要所以没去看&#xff0c;但是又要刷题&#xff0c;这时候&#xff0c;自动答题脚本就很关键&#xff0c;全程全自动&#xff0c;正确率还嘎嘎高&#xff01; 所以咱们今天来用Python写一个自动答题脚本&#xff0c;正…