0x01如何判断存在暴力破解?
1.确定登录接口的脆弱性
例如尝试登录→抓包→分析观察验证元素和response等信息,测试是否有连续登陆几次就要过一段时间登陆的风控规则。
2. 是否每次认证都使用安全的验证码
3. 是否对尝试登陆的行为进行判断和限制
4. 是否在必要的情况下采用了双因素认证
5.是否要求用户设置了复杂的密码
0x02所需工具
Burpsuit+字典
0x03测试的流程之类型一基于表单暴力破解
技巧一:查看报错是返回”账号或密码错误”还是返回”密码错误”来判断自己的用户名是否猜对了。比如输入xxx/yyy返回用户名或密码错误,输入admin/yyy返回密码错误,则可以确定用户名是正确的了。
技巧二:对字典进行优化,搞清楚账号6密码的一些限制,比如目标站点要求密码必需6位以上,字母数字组合,则可以删除字典中不符合条件的
1.首先对浏览器进行代理设置→(以搜狗浏览器为例)代理地址为127.0.0.1 端口为8080 使用时勾选相应的代理名称 不用时勾选不使用任何代理。
2.brupsuit使用:打开cracer工具包→漏洞分析→jdk-8u101进行默认安装环境即可打开bp
Positions 选项中sniper狙击手 设置一个playload,先将第一个变量使用字典进行测试,再将第二个变量使用字典进行测试
Battering ram 设置一个playload,所有的变量都使用这个字典进行测试 同用户名同密码
Pitchfork 每个变量设置一个playload,分别使用不同的字典对变量进行同时替换,注意这里的同时是指用户名的字典内容的第一行对应密码字典内容第一行,第二行对应第二行,一对一以此类推
Cluster bomb 每个变量设置一个playload,分别使用不同的字典对变量进行替换,一个用户名对应所有密码的一对多形式进行爆破
1)打开burpsuit Proxy模块点击intercetpt is on 变为intercetcept is off 不然就需要手动点击forward 或者drop来对数据包进行转发还是丢弃,才能使对应的浏览器网页打开
2) 浏览器尝试登录
3)Proxy模块下的http history 找到相应的爆破目标的URL查看对应的数据包是否对应一致.右击目标链接选中Send to intruder
4) 打开之后呢intruder 模块通过对数据包的变量进行字典的加载,其子选项target是攻击目标的地址和端口,Position选项下设置cluster bomp→清除变量→手动添加变量(先双击要爆破变量再add)
5)切换到payload选项依次为变量1和2添加字典→点击start attack→点击Length进行长度排序,长度不一致的即为正确答案
0X04类型二 验证码绕过(on client)
这类验证码只验证前端,没有对后端进行验证,因此验证码只是纸老虎