暴力破解
1.1、暴力破解原理和测试流程
1.1.1、简介:连续性尝试+字典+自动化
1.1.2、字典:一个有效的字典,可以大大提高暴力破解的效率
- 常用的账号密码(弱口令),比如常用用户名/密码TOP 500等。
- 互联网上被脱裤后账号密码(社工库),比如XXX当年泄漏的约600w用户信息。
- 使用指定的字符使用工具按照指定的规则进行排列组合算法生成的密码。
1.1.3、
如果一个网站没有对登录接口实施防暴力破解的措施,或者实施了不合理的措施。则该称该网站存在暴力破解漏洞。
- 是否要求用户设置了复杂的密码;
- 是否每次认证都使用安全的验证码;
- 是否对尝试登录的行为进行判断和限制;
- 是否在必要的情况下采用了双因素认证;
存在暴力破解漏洞的网站可能会遭受暴力破解攻击,但该暴力破解攻击成功的可能性并不是100% !所以有些网站即虽然存在暴力破解漏洞,但其管理员可能会忽略它的危害。
但作为一个搞安全的,我们应该在系统设计的时候,就应该将这些措施加入到对应的认证场景中绝不能为了妥协开发人员或者业务人员,有半点侥幸心里,否则被干了,惨的就是自己啦!
1.1.4、暴力破解测试流程
- 确认登录接口的脆弱性
确认目标是否存在暴力破解的漏洞。(确认被暴力破解的“可能性”)
比如∶尝试登录—抓包—观察验证元素和response信息,判断是否存在被暴力破解的可能。 - 对字典进行优化
根据实际的情况对字典进行优化,提高爆破过程的效率。(信息收集生产字典) - 工具自动化操作
配置自动化工具(比如线程、超时时间、重试次数等),进行自动化操作。
1.1.5、字典优化技巧
技巧一
根据注册提示信息进行优化
对目标站点进行注册,搞清楚账号密码的一些限制,比如目标站点要求密码必须是6位以上,字母数字组合,则可以按照此优化字典,比如去掉不符合要求的密码
技巧二
如果爆破的是管理后台,往往这种系统的管理员是admin/administrator/root的机率比较高,可以使用这三个账号+随便一个密码,尝试登录,观看返回的结果&