BurpSuite使用(一)——Intruder模块暴力破解

发布于 2023-08-22  92 次阅读


没想到pikachu的第一个部分就是暴力破解,那么就不得不来介绍一下Burp的Intruder功能了

一、将数据包传入Intruder

先来到Proxy模块下,在确保的正确配置代理的情况下,只要浏览器有发送数据包都会在history这里有记录。我们可以右键希望编辑的数据包,点击Send to Intruder就可以将数据包传入Intruder中了。

另一地方,在Intercept(拦截)中,如果开启了拦截,也就是第三个按钮,那么当前传输的数据包就会第一时间显示在这里,直接在下面最大的这个模块中右键进行同样的操作就可以了。

这像是比较通用的一步吧,想要将数据传入其它的模块也是类似的方法,以后就不再赘述咯,只是修改一下选项就是。

来到Intruder中,选中要爆破的参数,点击右侧Add就可以啦!爆破点会被$包围。

二、攻击模式介绍

首先让我们来认识一下可以使用哪几种攻击模式吧:

点击Choose an attack type可以看到有四个选项可以选择,虽然英文的解释已经很全了,但其实印象里老的版本并没有这些解释,所以还是介绍一下比较好。

1.Sniper模式(暴力攻击)

这个模式在一次数据包的发送中,只会修改一个数据点。比如我们添加了两个注入点username和password,就会先保持password不变然后按规则遍历一遍username,然后保持username不变再遍历一遍password。所以这个模式适合针对一个爆破点的情况,比如已经确定了用户名,要爆破密码这样。同样PIN码和验证码也非常适合。

2.Battering ram模式(参数爆破)

这个模式会将一个Payload(就是我们制定的规则,之后会讲怎么配置),同时应用到所有参数点。还是拿username和password来举例,会同时将二者修改为同样的值,并发送出去。

3.Pitchfork模式(组合攻击)

这个模式是对多个参数点使用不同组合的攻击模式。你要分别对每一个参数点分配一个字典,如username的字典是{1,2,3},password的字典是{4,5,6},那么此时会发出去三个包,分别对应{username=1,password=4},{username=2,password=5},{username=3,password=6}。

4.Cluster bomb模式(字典爆破)

这个模式会尝试所有的可能性。如同样的,username的字典是{1,2,3},password的字典是{4,5,6},此时会先保持username=1,然后发出password分别等于4,5,6的三个包,再将username修改为2,接着重复password的遍历。

三、Payload type配置

之前提到了Payload,那么这到底是什么呢?接下来我们来具体讲一下。

在信息安全领域,"Payload" 也用来指代恶意软件中的恶意行为或操作。恶意软件通常会携带一段代码,这段代码会在感染了目标系统后执行,这段代码的目的是完成某种恶意任务,比如窃取数据、传播自身、加密文件等。这段代码的执行就被称为 "Payload"。

其实都不重要,直接开始将payload这个模块的配置。这里只介绍几种常用的配置,其它如果之后有使用的必要再来讲。

为了方便理解,这里我给出两个简单字典的截图,之后使用的字典都会是这两个。
(字典的格式都是这样一行一行的)

1.Simple list

顾名思义,就是将字典中的值一个一个进行测试。点击load时,和Runtime file的功能是一样的,只是这里允许你简单的添加少量的行。
点击下方Payload settings的load添加字典。

然后点击右上方的Start attack就可以开始爆破了。

如何判断结果我们之后再来讲解。

2.Numbers

这也很简单,就是用数字序列替换爆破点,来看看设置。

Type:按顺序还是随机
From:起始数字
To:结束数字
Step:步长(间隔)
How many:多少次,一般选Random的时候才会用到

再下面的选项就是选进制(D:十进制,H:十六进制)和整数小数位数了,暂时用不到。来看看运行结果。

3.Custom iterator

这个模式下允许我们选择不同的Position,可以配置不同的字典。

添加的参数会以Position=Position1+Position2+...的形式添加进去

4.Character substitution

其实就是在Runtime file的基础上多发送一个字符替换后的数据包,同样让我们来看看列子。我将规则定为,“1”都替换成“@”

结果中,对应的替换被执行了。

5.Datas

就是插入日期用的,简单演示一下。

还可以自定义格式哦:-D

6.Brute forcer

真正意义上的暴力破解,在下方出入可能出现的字符,设定好最大最小长度,点击开始攻击,然后双手离开键盘开始等待。

看到上面的1332了么,我就不演示了这个QAQ

7.Null payloads

这种模式不对数据包做任何修改,直接发出去。

?你问我有什么用?有的时候,我们会去观察服务器对同样的请求会有什么样的返回包,嗯就是这样用的。

下面可以设定重复的次数,或者无限次。

四、Payload processing与Payload encoding配置

接下来我们来看Payloads下面的第三、四个模块。

点击processing部分的add,可以为我们插入的payload按照一定的规则进行处理,一般会用到的是Encode、Decode和Hash,这部分就自行探索吧,因为会用到一些编码的知识,小白肯定是不懂的。

等等,难道是我当初太弱了?QAQ

然后是最后的encoding,勾选后,如果遇到了指定的字符,就会对该字符进行URL编码。因为有的时候要绕过WAF(!新的名词),或者适配一些语句。

后记:

因为牙疼所以找借口摸鱼摸了两天,之后应该就不会有机会再这样摸鱼了吧。

咳咳,实在是因为刚开始介绍一款工具要介绍的地方实在是太多了,感觉什么都要讲,写着写着自己都有点混乱了。不过接下来接可以正式的进入暴力破解的学习了,还请期待 :-P