返回介绍

9.4 验证码绕过测试

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

9.4.1 测试原理和方法

在一些案例中,通过修改前端提交服务器返回的数据,可以实现绕过验证码,执行我

们的请求。

9.4.2 测试过程

攻击者进入注册账户页面,输入任意手机号码,获取验证码,在注册账户页面填写任

意验证码,提交请求并抓包,使用抓包工具查看并修改返回包信息,转发返回数据包,查

看是否注册成功,如图 9-19 所示。

图 9-19 验证码绕过测试流程

以某 P2P 网站系统注册功能为例。

步骤一:首先输入任意手机号码和密码,我们此处以 18888888886 为例,单击“获取

手机验证码”,由于我们无法获取到 18888888886 这个手机的真实验证码,我们随意填写一

个验证码 1234,如图 9-20 所示。

步骤二:单击注册领红包并通过 burp 对数据包进行截获,右击选择 Do intercept-Response to this request,如图 9-21 所示。

图 9-20 输入手机号码

图 9-21 抓取数据包

步骤三:然后单击 Forword 后,burp 工具里显示的就是网站返回的数据包。因为我

们填写的手机验证码 1234 肯定是错误的,而此时 res_code 的值为 1,证明了当手机验证码

错误时 res_code 的值为 1。我们将返回数据包中的 res_code 的值改为 0,从而实现绕过验证

码,如图 9-22 所示。

步骤四:继续单击 Forword 后,即可成功注册该手机号码 18888888886 的账号并登录跳

转到用户界面,如图 9-23 所示。

图 9-22 修改返回值

图 9-23 注册成功并登录

9.4.3 修复建议

针对此漏洞,建议在服务端增加验证码的认证机制,对客户端提交的验证码进行二次

校验。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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