Burpsuite-Intruder模块详解

摘要:
Burpsuite之Intruder模块详解一、简介BurpIntruder是一个强大的工具,用于自动对Web应用程序自定义的攻击,BurpIntruder是高度可配置的,并被用来在广范围内进行自动化攻击。当使用BurpSuite发送一个其他地方的请求时,BurpIntruder会对你最想放置有效负荷的位置做一个最好的猜测,并且它把这些放置在每个URL和主体参数的值里,以及每个cookie里。
BurpsuiteIntruder模块详解

一、简介

Burp Intruder是一个强大的工具,用于自动对Web应用程序自定义的攻击,Burp Intruder 是高度可配置的,并被用来在广范围内进行自动化攻击。你可以使用 Burp Intruder 方便地执行许多任务,包括枚举标识符,获取有用数据,漏洞模糊测试。合适的攻击类型取决于应用程序的情况,可能包括:缺陷测试:SQL 注入,跨站点脚本,缓冲区溢出,路径遍历;暴力攻击认证系统;枚举;操纵参数;拖出隐藏的内容和功能;会话令牌测序和会话劫持;数据挖掘;并发攻击;应用层的拒绝服务式攻击。

二、模块说明

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上编辑这些选项,大部分设置也可以在攻击时对已在运行的窗口进行修改。

1:Target目标选项(Target tab)

这个选项是用来配置目标服务器的细节:

Burpsuite-Intruder模块详解第1张

2:Positions位置选项(Positions tab)

这个选项是用来配置在攻击里产生的所有 HTTP 请求的模板:

Burpsuite-Intruder模块详解第2张

使用一对§字符来标记出有效负荷的位置,在这两个符号直接包含了模板文本的内容。当把一个有效负荷放置到一个给出的请求的特殊位置上时,就把这§符号放到这个位置,然后在两个符号之间的出现的文本都会被有效负荷替换。当有个特殊位置没有为一个给出的请求安排有效负荷时(这只适用”sniper”攻击类型),那个位置的§字符会被删除,出现在它们之间的文本不会变化。

当使用 Burp Suite 发送一个其他地方的请求时,Burp Intruder 会对你最想放置有效负荷的位置做一个最好的猜测,并且它把这些放置在每个 URL 和主体参数的值里,以及每个cookie 里。每个标记和它中间的文本都会被加亮以显得更清晰。你可以使用 Intruder 菜单上的选项标记的位置是要替换还是附加现有的参数值。在上面的请求编辑器里,指出了定义位置的数量和文本模板的大小。

你可以使用选项上的按钮来控制位置上的标记:

1. add § — 在当前光标位置插入一个位置标记。
2. clear § — 删除整个模板或选中的部分模板里的位置标记。
3. auto § — 这会对放置标记的位置做一个猜测,放哪里会有用,然后就把标记放到相应位置。这是一个为攻击常规漏洞(SQL 注入)快速标记出合适位置的有用的功能,然后人工标记是为自定义攻击的。
4.refresh — 如果需要,可以刷新编辑器里有颜色的代码。
5.clear — 删除整个编辑器内容。

3:Payloads有效负荷选项(Payloads tab)

这个选项是用来配置一个或多个有效负荷的集合。如果定义了”cluster bomb”和”pitchfork”攻击类型,然后必须为每定义的有效负荷位置(最多8个)配置一个单独的有效负荷。使用”payload set”下拉菜单选择要配置的有效负荷。

选项1:Payload SetsPayload数量类型设置

选项2:Payload Opetions[Simple list]该选项会根据选项1中Payload type的设置而改变

Burpsuite-Intruder模块详解第3张

选项3:Payload Processing对生成的Payload进行编码、加密、截取等操作

Burpsuite-Intruder模块详解第4张

选项4:Payload Encoding你可以配置哪些有效载荷中的字符应该是URL编码的HTTP请求中的安全传输。任何已配置的URL编码最后应用,任何有效载荷处理规则执行之后。 这是推荐使用此设置进行最终URL编码,而不是一个有效载荷处理规则,因为可以用来有效载荷的grep选项来检查响应为呼应有效载荷的最终URL编码应用之前。

Burpsuite-Intruder模块详解第5张

4:Opetions 选项卡(Options tab)此选项卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你可以发动攻击之前,在主要Intruder的UI上编辑这些选项,大部分设置也可以在攻击时对已在运行的窗口进行修改。

选项1:Request Headers这些设置控制在Intruder是否更新配置请求头。

Burpsuite-Intruder模块详解第6张

如果选中‘update Content-Length header’框,Burp Intruder 会使用每个请求的 HTTP 主体长度的正确值,添加或更新这个请求里 HTTP 消息头的内容长度。这个功能对一些需要把可变长度的有效载荷插入到 HTTP 请求模板主体的攻击是很有必要的。这个 HTTP 规范和大多数 web 服务器一样,需要使用消息头内容长度来指定 HTTP 主体长度的正确值。如果没有指定正确值,目标服务器会返回一个错误,也可能返回一个未完成的请求,也可能无限期地等待接收请求里的进一步数据。

如果选中‘set Connection: close’框,则 Burp Intruder 会添加或更新 HTTP 消息头的连接来请求在每个请求后已关闭的连接。在多数情况下,这个选项会让攻击执行得更快。

选项2:Request Engine设置发送请求的线程、超时重试等。

Burpsuite-Intruder模块详解第7张

选项3:Attack Results 设置攻击结果的显示。

Burpsuite-Intruder模块详解第8张

选项4:Grep – Match 在响应中找出存在指定的内容的一项。

Burpsuite-Intruder模块详解第9张

选项5:Grep – Extract 通过正则提取返回信息中的内容。

Burpsuite-Intruder模块详解第10张

选项6:Grep – Payloads 这些设置可以用于包含已提交的有效负载的反射的标志结果项目。如果启用了此选项,BurpSuite会添加包含一个复选框指示当前负载的值在每个响应发现新的结果列。

Burpsuite-Intruder模块详解第11张

选项7:Redirections 重定向响应,控制Burp在进行攻击时如何处理重定向。

Burpsuite-Intruder模块详解第12张

Burp Suite Intruder的4种攻击类型

一 Sniper(狙击手模式)

狙击手模式使用一组payload集合,它一次只使用一个payload位置,假设你标记了两个位置“A”和“B”,payload值为“1”和“2”,那么它攻击会形成以下组合(除原始数据外):

attack NO.location Alocation B
11no replace
22no replace
3no replace1
4no replace2

二Battering ram(攻城锤模式)

攻城锤模式与狙击手模式类似的地方是,同样只使用一个payload集合,不同的地方在于每次攻击都是替换所有payload标记位置,而狙击手模式每次只能替换一个payload标记位置。

attack NO.location Alocation B
111
222

三Pitchfork(草叉模式)

草叉模式允许使用多组payload组合,在每个标记位置上遍历所有payload组合,假设有两个位置“A”和“B”,payload组合1的值为“1”和“2”,payload组合2的值为“3”和“4”,则攻击模式如下:

attack NO.location Alocation B
113
224

四Cluster bomb(集束炸弹模式)

集束炸弹模式跟草叉模式不同的地方在于,集束炸弹模式会对payload组进行笛卡尔积,还是上面的例子,如果用集束炸弹模式进行攻击,则除baseline请求外,会有四次请求:

attack NO.location Alocation B
113
214
323
424

拓展阅读:

Burp Suite详细使用教程-Intruder模块详解(1)

http://www.freebuf.com/tools/2079.html

Burp Suite详细使用教程-Intruder模块详解(2)

http://www.freebuf.com/articles/3693.html

Burp Suite详细使用教程-Intruder模块详解(3)

http://www.freebuf.com/articles/4184.html

转载:https://www.cnblogs.com/yufusec/p/9179625.html

免责声明:文章转载自《Burpsuite-Intruder模块详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JavaScript之屏幕上下左右滑动监听[GXYCTF2019]禁止套娃下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

haproxy 配置详解

OPTION 选项: option httpclose :HAProxy会针对客户端的第一条请求的返回添加cookie并返回给客户端,客户端发送后续请求时会发送                              此cookie到HAProxy,HAProxy会针对此cookie分发到上次处理此请求的服务器上,如果服务器不能忽略           ...

C++调用linux命令并获取返回值

qt中封装了相关的方法, 但是因为我的命令中用到了管道命令, 出现了非预期结果, 所有改用了linux系统原生的方法。 下边是一个判断某进程是否存在的例子。 当前存在一个问题,当linux返回多行时, 程序只能读取返回值的第一行。目前我的 解决方法是,将linux命令的输出重定向到一个文件,然后程序再去读这个文件。 #include <stdlib....

shell for循环 多个变量

需求:需要输出以下2开头的端口号和其对应的文件like: port and port_k8s_xxx.conf 其脚本为: #! /bash/shell #以value_name=(value1 value2 value3)的形式定义数组 a=(`ls |grep -v ^1|grep -v 22281_k8s_qkd_http.conf|grep -v...

Http 持久连接与 HttpClient 连接池

一、背景 HTTP协议是无状态的协议,即每一次请求都是互相独立的。因此它的最初实现是,每一个http请求都会打开一个tcp socket连接,当交互完毕后会关闭这个连接。 HTTP协议是全双工的协议,所以建立连接与断开连接是要经过三次握手与四次挥手的。显然在这种设计中,每次发送Http请求都会消耗很多的额外资源,即连接的建立与销毁。 于是,HTTP协议的也...

使用grep搜索文本文件

如果您要在几个文本文件中查找一字符串,可以使用grep命令。grep在文本中搜索指定的字符串。假设您正在/usr/src/linux/Documentation目录下搜索带字符串magic的文件: $ grep magic /usr/src/linux/Documentation/* sysrq.txt:* How do I enable the magi...

HTML5中实现文件上传下载的三种解决方案(推荐)

前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介      HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于19...