黑客使用抓包工具分析Http请求,在忘记密码找回时,需要发送一条短信验证码,如果验证码数字比较短的话,很容易使用暴力破解方式攻击破。
防御手段:
忘记密码的短信验证码最好在6-8位。
一旦频繁调用接口验证时,应该使用图形验证码拦截,防止机器模拟。
使用黑名单和白名单机制,防御攻击。
破解思路(暴力破解):假设短信验证码为 4 位数字。使用 Java 程序 HttpClient 技术开启多线程技术调用找回密码接口,暴力破解生成对应的4位数字以内验证码进行验证,如果一旦验证成功,破解ok。
如何防止暴力破解找回密码呢?
- 找回密码验证码最好不要是单纯全部都是数字
- 建议验证码数字+其他字符混合(字母)
- 如果找回密码接口重试五次以上还是错误(出现图形验证码)
- 配置防止 DDOS,限流,限制 IP 访问,配置黑名单和白名单系统