环境准备
先准备好Burp 和 pikachu
1.基于表单的暴力破解
这里输入用户名和密码为admin
打开Burp抓包
点击Login登录
抓到包后执行ctrl + i ,把密码这里确定被 §符号括起来
导入密码
排除关键文字 exists
Start attack
就可以得到 123456这个密码 ,登录即可
2. 验证码绕过(on server)
这里我们输入 admin admin 和验证码
感觉和刚才的没什么差别 还是账号密码不对
漏洞分析
1.输入错误的验证码 后台是否会验证
看来是会验证的
2.通过Brup 拦截会话 让验证码保持正确 同时更换用户名和密码 是否需要重新输入新的验证码或提示要刷新验证码?
可以发现我们无论如何修改用户名 和密码 只要验证码是对的 此网站并不会要求我们需要刷新验证码
那么我一样使用第一个基于表单的暴力破解的方法一样可以获取用户名和密码
3.验证码绕过(on client)
这关只是前端写了一个验证码验证 对渗透测试来说形同虚设
服务器没有发送和接受任何数据,但是验证码又验证了,只能说明这个验证码是本地产生和验证的。
直接使用第一个方法直接爆破就行
4.token防爆破?
这个关多了一个token 每次的请求token都会自动重新生成
先抓包
提示token报错了,确实token只能用一次
那怎么办好呢?
然后send
这次我们发现 不提示token报错了 直接就是用户密码错误的提示
提示登录成功
小结
每次服务器会生成一个token 然后登录的时候把 token和用户名 密码 3个参数一起发送到服务器,这种防止爆破 是不行的 因为token 都已经前端明文显示出来了
Token主要是用来防御CSRF攻击的 下面演示如何爆破这种明文的token
proxy intercept ctcl + i
密码这里照常使用密码本里的密码
出现报错
到此结束 pikachu漏洞之暴力破解
总结一下 BurpSuite爆破的几种模式:
| 攻击模式 | Payloads | 攻击效果 |
|---|---|---|
| Sniper | 1 | 一个参数不变,另一个遍历字典 |
| Battering ram | 1 | 两个参数同步遍历一个字典 |
| Pitchfork | N(取决于参数有几个) | 两个参数同步遍历两个不同的字典 |
| Cluster bomb | N(取决于参数有几个) | 两个字典的笛卡尔积 |