验证码机制之验证码绕过
验证码绕过测试
- 通常我们在进行帐号注册、密码找回、手机或邮箱绑定的时候,都需要接收验证码,
- 如果没有做好逻辑判断,可以通过修改返回的数据包来实现绕过验证码的安全防护
危害
- 绕过验证码的限制进行用户注册
- 任意用户密码重置
- 实现用户与任意手机号或邮箱绑定
漏洞原理
- 由于开发人员使用了错误的逻辑判断,仅仅在客户端接收用户输入的验证码,并且在本地校验验证码是否正确。
- 而该判断结果也可以在本地进行修改,最终导致客户端误以为我们已经输入了正确的验证码,实现了验证码绕过
试示例
案例
通过验证码绕过漏洞实现重置任意用户密码
测试方法
1、在接收验证码后,输入任意验证码,提交并抓包
2、尝试修改返回包中相关的参数值。
3、转发数据包,若进入密码重置页面,则证明存在漏洞。
第一步 抓取找回密码的验证码数据包
第二步 修改返回的数据包
第三步 成功进入填写新密码,并且修改密码成功
防御方案
在服务端增加验证码的认证机制,而不仅仅是在客户端进行判断。
摘抄
后来明白,我们永远无法成为别人满意的那个自己,
可如果坚持做喜欢的自己,终会遇见喜欢你的人。
其实到最后,我们都是在寻找同类,
就像溪流汇入江海,光束拥抱彩虹。
——陈亚豪