今天继续给大家介绍渗透测试相关知识,本文主要内容是使用BurpSuite对加密后密码进行爆破详解。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
一、靶场环境介绍
今天,我们使用zblog靶场来进行演示。zblog靶场安装完成后,登录页面如下所示:
我们随便输入用户名和密码,然后进行抓包,结果如下所示:
从上图中可以看出,在我们发送的数据包中,密码并不是我们输入的原始密码,而是经过了一定的处理。根据密码模式,我们猜测处理的方法是对我们输入的密码进行md5 hash。因此,我们将上述数据包中的密码尝试使用md5进行hash处理,结果如下所示:
从上图可以看出,经过md5爆破后,成功还原为我们原来的密码。
二、用户名、密码爆破逻辑
BurpSuite的Intruder攻击模块一共有四种攻击方式,这四种攻击方式及其效果作用如下所示:
1、Sniper
Sniper模式使用一组payload集合,一般情况下适用于只爆破用户名或者只爆破密码。如果在Sniper模式下标记了两个位置,那么payload集合会先放到第一个位置,此时第二个位置处为空;然后放到第二个位置,此时第一个位置处为空。例如,假设标记位置有两个,则生成的攻击序列情况如下表所示:
攻击序列位置1位置21payload[1]空2payload[2]空4空payload[1]5空payload[2]
2、Battering ram
对于Battering ram模式而言,也只使用一个payload。但是与Sniper模式不同的是,当出现多个位置,Battering ram模式会使用payload填充每个标记的位置。例如,假设标记位置有两个,则生成的攻击序列情况如下表所示:
攻击序列位置1位置21payload[1]payload[1]2payload[2]payload[2]
3、Pitchfork
Pitchfork模式则允许在多个位置处,使用多组payload,这样我们就可以为不同的位置定制不同的payload了。这样做的好处在于,我们可以进行用户名和密码两组同时爆破。例如,假设标记位置有两个,payload也有两个,则生成的攻击序列情况如下表所示:
攻击序列位置1位置21payloadA[1]payloadB[1]2payloadA[2]payloadB[2]
4、Cluster bomb
Cluster bomb也允许在多个位置处使用多组payload,但是与Pitchfork的区别在于,Cluster bomb的数据包生成时,使用的是这多组payload的排列组合。例如,假设标记位置有两个,payload也有两个,则生成的攻击序列情况如下表所示:
攻击序列位置1位置21payloadA[1]payloadB[1]2payloadA[1]payloadB[2]3payloadA[2]payloadB[1]4payloadA[2]payloadB[2]
三、用户名、密码爆破实战
在了解了靶场基本情况,以及BurpSuite Intruder模块的四种攻击模式后,接下来,我们就可以进行用户名和密码的爆破实战了。
来到Intruder模块下,在Position位置处,选择合适的攻击模式,以及攻击位置,选择完成后如下所示:
之后,我们进入Payloads模块,首先在Payload set处选择1,并选择第一处的payload,如下所示:
进入到第二处payload选择时,因为题目对password进行了md5的hash处理,因此我们也要对payload进行hash处理。在Payload Processing模块,点击“Add”,然后在弹出的处理规则模块,先后选择处理模式为Hash,算法为md5。如下所示:
之后,我们就可以点击右上角的“Start attack”了,这样Burpsuite就会自动发送payload构成的多个数据包,结果如下所示:
一般而言,如果我们能够爆破成功,那么成功后反馈的页面和失败后反馈的页面一定是不同的。因此我们需要在Length处合理的查找正确的页面。
我们找到正确的用户名和密码后,就可以使用上述用户名和密码成功登录系统了,结果如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
版权归原作者 永远是少年啊 所有, 如有侵权,请联系我们删除。