- Burpsuite pro(最好使用正版,由于我这个是汉化版有的功能不是很好用,打算换原版了)
基于表单的暴力破解
- 输入任意尝试,使用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里设置。
- 最终成功爆破