目录
1.1 基于表单的暴力破解
1.2 验证码绕过(on server)
1.3 验证码绕过(on client)
1.4 token防爆破?
1.1 基于表单的暴力破解
进入靶场,账号密码随便输入,如图1.1.1
图1.1.1
我们简单输入why,123,错误提示,如图1.1.2
图1.1.2
登录抓包,右键发送到intruder模块,如图1.1.3
图1.1.3
然后在测试区中点击位置,在右边点击清除,然后选中username中的why和password中的123(即是我们要爆破的账号密码),攻击类型选择集束炸弹,如图1.1.4
图1.1.4
输入相对应用户名和密码(里面要有对的账号和对的密码才能爆破成功),如图1.1.5和1.1.6
图1.1.5
图1.1.6
进行爆破,如图1.1.7
图1.1.7
爆破完毕之后,对结果进行排序,按length排序,长度不同的即为正确用户名密码,如图1.1.8
图1.1.8
然后把爆破成功的账号密码登录进去就可以登陆成功了,如图1.1.9
图1.1.9
1.2 验证码绕过
进入靶场,可以看到本靶场需要输入验证码,如图1.2.1
图1.2.1
账号密码随便输入,登录抓包,右键发送到intruder模块,如图1.2.2,先发到repeater重发器发送,如图1.2.3
图1.2.2
图1.2.3
把验证码修改了发送就可以看到验证码错误了,如图1.2.4和1.2.5
图1.2.4
图1.2.5
这说明是验证码无条件不刷新,无条件不刷新是指在某一时间段内,无论登录失败多少次,只要不刷新页面,就可以无限次的使用同一个验证码来对一个或多个用户帐号进行暴力破解。
抓包后,发现验证码参数,经测试直接放入Intruder模块爆破即可,不要在Proxy->Intercept模块放包后刷新页面,因为刷新页面后后台服务端的验证码也会随之刷新,从而使上一次验证码失效,导致爆破不了。把账号密码处添加上,攻击类型选择集束炸弹,把账号密码输入进去,最后攻击。如图1.2.6-1.2.8
图1.2.6
图1.2.7
图1.2.8
返回包中,返回了login success字样,成功爆破到密码,如图1.2.9
图1.2.9
用户test登录成功,如图1.2.10
图1.2.10
1.3 验证码绕过(on client)
进入靶场,可以看到本靶场需要输入验证码,如图1.3.1
图1.3.1
这里输入的验证码要跟图片的一样,先过了前端检测才能抓到数据包,不然前端验证码检测没过他会弹窗,导致数据包无法抓取,也就不能暴力破解。如上步骤,最终结果如图1.3.2,成功爆破出用户名和密码。登陆成功,如图1.3.3
图1.3.2
图1.3.3
1.4 token防爆破?
服务器新增检测条件token,客户端每次访问都必须带着服务器下发的token,否则登录失败。
进入靶场,如图1.4.1
图1.4.1
抓取数据包可以看到请求头中有token参数,重放两次数据报后会提示token错误,如图1.4.2
图1.4.2
攻击方式设置未pitchfork,payload点自己按照各自的规则跑,如图1.4.3
图1.4.3
token payload点设置递归查询,如图1.4.4
图1.4.4
线程设置为1个,防token不相同,如图1.4.5
图1.4.5
在选项下面的Grep Extract点添加,获得回复,选中token的值复制然后确认,如图1.4.6
图1.4.6
最下面选中总是,如图1.4.7
图1.4.7
把值放在第一个请求的初始有效负载,如图1.4.8
图1.4.8
加载字典后攻击,唯一的长度为成功爆出的密码,如图1.4.9
图1.4.9