基本介绍
验证码在客户端生成而非服务器端生成时就会造成此类问题,当客户端需要和服务器进行交互发送验证码时,可借助浏览器的工具查看客户端与服务器进行交互的详细信息
测试方法
攻击者进入找回密码页面输入手机号与证件号获取验证码,服务器会向手机发送验证码,通过浏览器工具查看返回包信息,如果返回包中包含验证码,证明存在此类问题
简易案例
Step 1:点击的登录并使用burpsuite抓包
Step2:从回显数据包中获取短信验证码
修复建议
针对验证码在客户端回显的情况,建议采取如下措施来预防此类问题:
- 设置验证码的时效性,例如:180秒过期
- 验证码应随机生成,且使用一次即失效
- 禁止验证码在本地客户端生成,应采用服务器端验证码生成机制