基于表单的暴力破解

输入任意尝试,使用burp抓包清除默认payload,手动添加payload,发送给攻击器,选择第四个攻击方式



设置好1和2 的配置文件(字典),也可手动添加

看到了结果,响应长度明显不一样,输入admin 123456 登录成功

验证码绕过(on server)

可以看到验证码调用的是后端showvcode.php代码完成的一张图片
那么只改变用户名和密码,虽然报错,但验证码可反复重复使用,还是老样子发送到intruder



测试成功admin 123456 因此和第一个也就多了一个验证码php图片验证。基本一样

验证码绕过(on client)

验证码通过前端js完成,
查看验证码有createCode函数


往下找,定义是选择数组里面5个组合完成

反复尝试了一下,发现无论输入错误验证码,或者为空,都返回用户域名username or password is not exists~(用户名或密码不存在)此时验证码就不起作用了,验证码完全交给前端,后端并没有验证工作,因此还是只爆破用户名和密码就行了。

剩下的和之前一样,省略一些步骤了,直接看结果

token防爆破

有关token简单介绍
①客户端使⽤⽤户名跟密码请求登录
②服务端收到请求,去验证⽤户名与密码
③验证成功后,服务端会签发⼀个 Token,再把这个 Token 发送给客户端
④客户端收到 Token 以后可以把它存储起来,⽐如放在 Cookie ⾥或者 Local Storage ⾥
⑤客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
⑥服务端收到请求,然后去验证客户端请求⾥⾯带着的 Token,如果验证成功,就向客户端返回请求的数据


审计第二次token,尾数0441,再次登录,既下一次token就获取出来了


Burp绕过token,这里选择pitchfork 一对一模式,设置密码和token两个,添加到payload

第二个与HTML的相应界面匹配,第二个payload选择Recursive grep

配置响应包,选中设置标记token的值,然后把重定向设置成always

注意这里的线程数设置为1,不然会显示“递归 grep 有效负载不能与多里面求线程一起使用”报错,因为我这是pro版本,我找了半天,最新的burp都是在Rsource pool里设置。

最终成功爆破