概述
暴力破解是用户使用自定义字典文件中的内容与验证程序交互,从而在枚举过程中得到正确数据
暴力破解的基础:
- 应用程序或服务器未进行交互次数限制
- 具有覆盖内容全面的字典文件
暴力破解的方式
根据破解的验证内容是否处于服务状态将分为两类:
- 在线破解
- 离线破解
无论在线还是离线 是否可以破解成功都取决于字典文件内容的强大
破解速度的瓶颈在于本地机器与服务器性能、带宽等因素
暴力破解测试流程
1、确认登录接口的脆弱性
确认目标是否存在暴力破解的漏洞(确认被暴力破解的“可能性”)
比如:尝试登录–抓包–观察验证元素和response信息,判断是否存在被暴力破解的可能
2、对字典进行优化
根据实际的情况对字典进行优化,提高破解过程的效率
技巧一:
根据注册时的提示信息进行优化
技巧二:
如果爆破的是管理后台,admin/administrator/root的可能性更大
3、工具自动化操作
配置自动化工具(比如线程、超时时间、重试次数等),进行自动化操作
防范措施
1、设计安全的验证码(安全的流程+复杂而可用的图形)
2、对认证错误的提交进行计数并给出限制,比如:连续5次密码错误,锁定账户1小时
3、必要的情况下,使用双因素认证
token防暴力破解?
token防不了暴力破解,因为token值是放在前端的,使用攻击者只需要在每次进行重放攻击之前,获取token值,然后放在表单中