暴力破解
概述
连续性尝试+字典+自动化
如果一个网站没有对登录接口实施防暴力破解的措施,或者实施了不合理的措施,则该网站存在暴力破解漏洞。
- 是否要求用户设置了复杂的密码
- 是否每次认证都是用安全的验证码
- 是都对尝试登录的行为进行判断和限制
- 是丢在必要的情况下采用了双因素认证
字典
- 常用账号密码(弱口令)
- 互联网上被脱裤后账号密码(社工库)
- 使用密码生成工具定制字典
暴力破解漏洞测试流程
- 确认登录接口的脆弱性:确认目标是否存在暴力破解漏洞,尝试登录-抓包---观察认证元素和response信息,判断是否存在暴力破解的可能。
- 对字典进行优化:根据实际情况对字典进行优化,提高效率。
- 工具自动化操作:配置自动化工具(线程、超时时间、重试次数等)进行自动化操作。
字典优化技巧
- 根据注册信息优化(密码位数、字符组成限制)
- 根据返回信息优化(账号错误、密码错误)后台登陆一般管理员为admin/administrator/root。
验证码
验证码逻辑可以在前端生成、验证也也可以在后端生成、验证。
不安全的验证码-on client
- 使用前端js实现验证码
- 将验证码在cookie中泄露,容易被获取
- 将验证码在前端代码中泄露,容易被获取
不安全的验证码-on server
- 验证吗在后台不过期,导致可以长期被使用(session不过期问题)
- 验证码校验不严格,逻辑问题
- 验证码涉及太过简单和有规律,容易被猜解