文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
9.1 验证码暴力破解测试
9.1.1 测试原理和方法
验证码机制主要被用于防止暴力破解、防止 DDoS 攻击、识别用户身份等,常见的验
证码主要有图片验证码、邮件验证码、短信验证码、滑动验证码和语音验证码。
以短信验证码为例。短信验证码大部分情况下是由 4~6 位数字组成,如果没有对验证
码的失效时间和尝试失败的次数做限制,攻击者就可以通过尝试这个区间内的所有数字来
进行暴力破解攻击。
9.1.2 测试过程
攻击者填写任意手机号码进行注册,服务器向攻击者填写的手机号码发送短信验证
码,攻击者设置验证码范围 000000~999999、00000~99999、0000~9999,对验证码进
行暴力破解,通过返回数据包判断是否破解成功,然后通过破解成功的验证码完成注册,
如图 9-1 所示。
以某会员网站任意手机号码注册为例。
步骤一:填写任意号码进行注册,本案例使用手机号码为 16666666666,单击获取手
机动态码,会向手机发送一条验证码信息,如图 9-2 所示。
图 9-1 短信验证码暴力破解测试流程
图 9-2 获取短信验证码
步骤二:快速登录,抓取数据包,对 code 参数进行暴力破解,如图 9-3 所示。
图 9-3 抓取登录数据包
破解信息如下,如图 9-4 所示。
图 9-4 暴力破解
步骤三:通过返回值的长度可判断 46547 为正确的验证码,使用该验证码可成功登录
网站,获取个人信息,如图 9-5 所示。
图 9-5 登录成功
9.1.3 修复建议
针对验证码的暴力测试,建议采取如下的加固方案:
(1)设置验证码的失效时间,建议为 180 秒;
(2)限制单位时间内验证码的失败尝试次数,如 5 分钟内连续失败 5 次即锁定该账号
15 分钟。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论