文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
9.3 验证码客户端回显测试
9.3.1 测试原理和方法
当验证码在客户端生成而非服务器端生成时,就会造成此类问题。当客户端需要和服
务器进行交互发送验证码时,可借助浏览器的工具查看客户端与服务器进行交互的详细信
息。
9.3.2 测试过程
攻击者进入找回密码页面,输入手机号与证件号,获取验证码,服务器会向手机发送
验证码,通过浏览器工具查看返回包信息,如果返回包中包含验证码,证明存在此类问
题,如图 9-13 所示。
图 9-13 验证码客户端回显测试流程
以某 P2P 金融平台为例。
步骤一:使用浏览器访问该网站,在找回密码页面中任意输入一个手机号码和开户证
件号,如图 9-14 所示。
图 9-14 输入手机号与证件号
步骤二:单击“下一步”按钮,即可向该手机发送短信验证码。按 F12 键启用浏览器调
试工具可看到短信验证码在本地生成,如图 9-15 所示。
图 9-15 查看本地生成的验证码
步骤三:输入本地生成的验证码,如图 9-16 所示。
图 9-16 输入验证码
进入重置密码页面,如图 9-17 所示。
图 9-17 进入密码重置页面
步骤四:重置密码成功,如图 9-18 所示。
图 9-18 重置成功
9.3.3 修复建议
针对验证码在客户端回显的情况,建议采取如下措施来预防此类问题:
(1)禁止验证码在本地客户端生成,应采用服务器端验证码生成机制;
(2)设置验证码的时效性,如 180 秒过期;
(3)验证码应随机生成,且使用一次即失效。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论