文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
12.1 验证码客户端回显测试
12.1.1 测试原理和方法
找回密码测试中要注意验证码是否会回显在响应中,有些网站程序会选择将验证码回
显在响应中,来判断用户输入的验证码是否和响应中的验证码一致,如果一致就会通过校
验。
12.1.2 测试流程
填入要找回的账号,通过 Burp 抓取返回包找到正确验证码,将正确验证码发送给服务
端已达到密码重置的目的,如图 12-1 所示。
图 12-1 验证码发送流
步骤一:网站中一般第一步会要求用户填写账号信息以便发送验证码到用户的邮箱或
者手机号中等待用户查收校验,如图 12-2 所示。
图 12-2 找回密码界面
步骤二:在找回密码测试中需要对发送验证码的请求抓包,观察它的响应结果。本书
中使用工具 Burp Suite 拦截请求,如图 12-3 所示。
图 12-3 发送验证码请求包
步骤三:拦截到请求包后,通过观察可以发现 object 参数是验证码的发送邮箱。
POST/member/same/password?type=email&object=xxxxxx@126.com HTTP/1.1Host:www.xxxxx.com
如果是这个账号的用户,那么就可以在自己的邮件中看到验证码,但是如果不是自己
的账号当验证码发生泄露后任意账号密码修改的漏洞就触发了。
步骤四:查看响应包中的内容,如图 12-4 示。
图 12-4 查看验证码响应包
步骤五:当响应包中返回验证码后就泄露了找回密码的凭证,攻击者只需要利用响应
中的验证码就可以通过找回密码功能修改密码,这样就绕过了只有用户自己邮箱或者手机
才能看到验证码的条件而达到密码修改的目的,如图 12-5 所示。
图 12-5 验证码校验成功进入密码修改界面
12.1.3 修复建议
避免返回验证码到响应包中,验证码一定要放在服务端校验。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论