pikachu之暴力破解

基于表单的暴力破解


bp 抓包放入爆破器

选择交叉爆破

分别都导入字典,然后 start attack

爆出来三组账号密码
admin 123456
test abc123
pikachu 000000
当然这里字典是针对性加的

验证码绕过(on server)

这种服务器后台不刷新验证码,只要抓包后不放包就可以一直用
抓包看看

抓包带上验证码,试试爆破

配置啥的和上面一样都是交叉爆破

最后同样爆破出来的,这里是因为验证码不变,可以无限复用

验证码绕过(on client)

这里和上面一样,也是用验证码直接爆破就行

这里的不同是将验证码的生成规则直接写在了前端

当然这里使用随机数实现的验证码,如果是基于时间戳之类的还可以用 python 脚本发包来爆破

token 防爆破

这里加入了 token,也是一种校验用的东西,带上它,就可以一定程度上防止爆破

简单来说 token 就是服务器给客户端发的身份证,客户端发请求时要带上这个身份证,不然就是不合法请求


这里我们再用相同的方法去爆破,可以看到提示 token 失败

带上 token 爆破

这里像这样单线程跑整个爆破

然后加一个 grep,点击add

点击 refetch,然后搜索token

选中 value 所指的值,然后点击 ok

然后回到 payload 中,选择 3,然后 payload 类型选择从 grep 中获取,然后填入第一个 token

效率很慢,但是这里的 root root 的时候会提示账号密码不存在,也就是说 token 是生效的
突然想起来,这里爆破类型选择了这个

简单理解一下,假如有两个等待爆破的参数
他们的字典都是

1
2
3
root
admin
123456

Cluster bomb 的爆破就是

1
2
3
4
5
6
| root  | root   |
| root | admin |
| root | 123456 |
| admin | root |
| admin | admin |
| admin | 123456 |

Pitchfork 则是

1
2
3
| root  | root   |
| admin | admin |
| 123456 | 123456 |

所以这里应该选择 Pitchfork

同时我这里减少爆破项,减少爆破时间

得到 admin 的密码 123456

参考文章:
渗透测试-验证码的爆破与绕过