基于表单的暴力破解
intruder模块使用
1.爆破的四种模式
Sniper:狙击手单点模式,将数据逐一填充到指定位置
Battering ram:将数据同时填充到多个指定位置,例A字典的数据同时填充到两个位置
Pitchfork:将每个字典逐一对称匹配,例如A字典的1号位与B字典的1号位匹配,绝不相交匹配
Cluster bomb(常用):将每个字典逐一交叉匹配,例如A字典的所有位与B字典的所有位都匹配。
基本流程是:设置代理>打开intercept>抓到的包发送给intruder>选择爆破模式,设置position,添加字典>开始爆破
验证码绕过(on client)
把抓到的包发送到Repeater
在Repeater中,我们可以尝试提交不同的验证码。从得到的Response中的返回信息可以发现后台没有对验证码进行验证,属于前端js实现验证码。
于是在爆破时只需要把用户名和密码设置为变量即可
验证码绕过(on server)
常见的问题:
·验证码校验不严格,逻辑出现问题;
·验证码在后台不过期,导致可以长期被使用;
·验证码设计太过简单和有规律,容易被猜解。
检查验证流程是否有效:✔
验证码是否能够被长期使用:
使用相同的验证码提交两次都通过了验证说明验证码可以被长期使用✔
暴力破解:
使用正确的验证码,设置用户名和密码为变量
token:不能防爆破
页面每次刷新,后台都会生成一个token存储在session里,并以隐藏形式输出在表单中;当点击login时,后台会对用户名密码和token都进行验证。