目录
- 前言
- 暴力破解模式
- 一.pikachu靶场
- 1.基于表单的暴力破解
- 2. 验证码绕过
- 2. token防爆破
- 二. DVWA
- 1.low,Medium
- 2.High
- 3. Impossible
前言
渗透测试中暴力破解方法解释:通过尝试所有可能的字符组合来猜测密码的方法。
这种攻击方法需要大量计算资源和时间,但在某些情况下可能有效。
暴力破解工具如下:
-
burpsuite里面的Intruder模块。这个暴力破解工具一般用于爆破网站上的登陆页面。
-
hydra。这款工具非常经典且好用,一般用来作端口上的服务爆破,比如21端口的FTP服务、22端口的SSH端口、445端口的SMB、3306的mysql端口。
本篇使用burpsuite工具在pikachu和DVWA靶场进行入门练习。
暴力破解模式
- Sniper模式使用单一的Payload组。它会针对每个位置设置Payload。这种攻击类型适用于对常见漏洞中的请求参数单独进行Fuzzing测试的情景。攻击中的
请求总数应该是position数量和Payload数量的乘积
。 - Battering ram模式使用单一的Payload组。它会重复Payload并一次性把所有相同的Payload放入指定的位置中。这种攻击适用于需要在请求中把相同的输入放到多个位置的情景。
请求的总数是Payload组中Payload的总数
。 - Pitchfork模式使用多个Payload组。攻击会同步迭代所有的Payload组,把Payload放入每个定义的位置中。这种攻击类型非常适合在不同位置中需要插入不同但相似输入的情况。
请求的数量应该是最小的Payload组中的Payload数量
。 - Cluster bomb模式会使用多个Payload组。每个定义的位置中有不同的Payload组。攻击会迭代每个Payload组,每种Payload组合都会被测试一遍。这种攻击适用于在位置中需要不同且不相关或者未知输入攻击的情景。
攻击请求的总数是各Payload组中Payload数量的乘积
。
一.pikachu靶场
抓包之前先把代理打开:
1.基于表单的暴力破解
首先打开靶场向登陆框中输入相应的信息,当我们不知道任何一个用户名或密码
时使用burpsuite的Cluster bomb(集束炸弹)模式同时对两个位置分别进行爆破(遍历组合)
。
使用burpsuite抓包
清除默认payload位置并选择需要的位置
然后在攻击位点使用基于表单的爆破模式,向两个位点分别导入字典,最后点击
start attack
开始攻击
根据回显长度差别得到正确账号密码。
2. 验证码绕过
基本步骤同上,第一次输入信息的时候验证码确保正确,阻断浏览器页面验证码刷新和信息提交,通过测试发现验证码可以复用
(在scan模块没有回显验证码错误)。保持页面阻滞状态,执行表单爆破(同上),得到正确信息。
2. token防爆破
-
前置解释:
客户端token跟随用户名和密码一起提交给服务器并且与服务器端token值进行对比,那么也就意味着每次客户端请求服务器都会进行token值校验是否正确。如果我们想要爆破这样的登录入口就需要突破一个关键点,那就是每次请求前需要把上一次请求的响应包获取到,并将其中的token值截取出来。 -
步骤:
- 正常输入信息抓包发现提交信息有token,由于每次提交token值不一样,需要设置token值。
抓包
- 由于每次token值基于上次请求,选择pitchfork模式。
然后第一个位点导入密码字典
第二个payload位置设置递归提取
添加提取规则
因为需要提交token,所以不能使用多线程,需要把线程数改为1(2022版burpsuite在图五处进行设置)。
(tips:由于token值需要从上次请求得到,因此第一,二次爆破由于没有提交token而并未将账号密码提交验证,需要在图三处将第一二个密码再次写入一份才能对这条测试信息进行验证,如图十)(或者在图九位置将图八得到的第一个token复制粘贴一下也可以)
二. DVWA
1.low,Medium
Medium与low相比之下加入了sleep()函数使每次登录信息错误等待时间比第一次长,延长了爆破时间。get方式提交数据。
2.High
加入了token,跟pikachu那里一样步骤
3. Impossible
错误登陆次数过多会锁定账户,增加了爆破难度(会很费时间…,这种情况实际上就很少会采用暴力破解来获取信息了)