Burte Force(暴力破解)概述
“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:
1.是否要求用户设置复杂的密码;
2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
4.是否采用了双因素认证;
...等等。
千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!
基于表单的暴力破解
1.随便传值抓包
2.发送到intruder模块,选择Cluster bomb的攻击方式,选择username和password两个参数
3.配置字典payloads,线程等
4.开始爆破,点击length通过排序查看特殊length的匹配对可能就是账号密码
5.也可以通过匹配返回的关键词来查看是否爆破成功
验证码绕过(on server)
1.查看验证码错误情况
2.查看验证码正确情况
3.随便传数据进行抓包,并发送给repeater模块,刷新页面后得到新的验证码,把参数验证码的数据改为新的验证码进行发包
4.验证码可以用,发送到intruder模块,选择Cluster bomb攻击方式,选择username和password两个参数,配置好字典payload、线程等开始爆破
验证码绕过(on client)
1.发现验证码只在前端做过一次验证,填正确的验证码,抓包发送到repeater模块
2.通过修改账号密码参数,验证码不变重新发包观察返回数据情况
说明验证码可以使用
3.把包发送到intruder模块,选择Cluster bomb的攻击方式,选择username和password两个参数,配置好字典payload、线程,开始爆破
token防爆破?
1.通过抓包,发现其中存在token值,发送给repeater模块进行测试
第一次
第二次,未改变token值,再进行发包
发现token值需要每次请求的时候改变
2.查看页面审查元素,发现token存在前端页面代码中
3.可以自己写脚本,从每次请求中爬取到token值,再替换到请求包中进行发送,
起到爆破作用。
4.也可以,抓包发送到intruder模块,选择pitchfork攻击方式,选择password和token两个参数
5.在options中的Grep-Extract中打勾点击add添加过滤条件 点击refetch response找到响应包中的token 选中复制token值点击确定
6.将最下方Redirections的redirections选择为always
7.设置payload ,set为1 ,type为runtime file ,文件选择为密码字典,注意:字典文件的路径不能有中文,否则会失败
8.set为2, type为recursive grep时, 复制刚才的token值到first request
9.设置线程为1
10.开始爆破,排列length得到admin的密码