什么是暴力破解攻击:连续性的尝试+字典+自动化
暴力破解全套解析:
基于表单的暴力破解:
- 在登录界面随便填写账号密码,使用BP抓包
- BP转到INTRUDER界面,将攻击模块设置成cluster bomb(这个爆破是交叉性的),并且把要爆破的区域选择好,在payloads界面设置好需要的字典,点击start attack开始爆破
- 根据爆破数据的大小来判断哪个是爆破出来的账号密码
- 尝试使用爆破出来的账号密码进行登录,登录成功
验证码绕过(on client)
- 首先先在登录界面随便输入账号密码验证码,发现弹出验证码输入错误的框,并且在BP中未捕获到相关数据包,以此推断这个验证码是在前端使用编写的,查看源码,验证猜测是对的
- 把验证码改成对的验证码,先通过前端的校验,使用BP抓包,接着转到REPEATER界面,因为验证码是在前端js编写的,所以推断并不经过后端数据库,尝试改成错误的验证码来发送验证想法,发现确实是这样
- 接着跟上一个爆破操作一样,爆出账号密码,此处省略
验证码绕过(on server)
- 老样子,随便输入,用BP抓包,发现没有弹框,说明这次的图片验证码是在后端数据库进行校验的,
- 放行后,发现提示验证码错误,那尝试使用正确的验证码,提示账号密码错误。感觉是没有什么问题的。没办法爆破,但尝试多次放行后发现,同一个验证码可以一直使用,判断验证码没有使用期限。
- 转到INTRUDER界面直接爆破,爆破成功,使用正确的账号密码登录
Token防爆破
1.老样子,随便输入,使用BP抓包,发现比之前的多了一个token
2.放行第一次以后,提示账号密码错误,放行第二次以后,提示token错误,说明token是有使用期限的,经过多次尝试,发现token是依次上去的
- 转到intruder界面进行爆破,因为token是有变化的,所以把token也设置成变量,把线程设置为1,在GREP-EXTRACT中选中token
- 前面两个payloads正常设置字典,第三个选择递归搜索,并把token的值输入,开始爆破。爆破出账号密码