返回介绍

9.1 验证码暴力破解测试

发布于 2024-10-11 00:03:33 字数 1434 浏览 0 评论 0 收藏 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文