验证码机制之验证码绕过

验证码绕过测试

  • 通常我们在进行帐号注册、密码找回、手机或邮箱绑定的时候,都需要接收验证码,
  • 如果没有做好逻辑判断,可以通过修改返回的数据包来实现绕过验证码的安全防护

危害

  • 绕过验证码的限制进行用户注册
  • 任意用户密码重置
  • 实现用户与任意手机号或邮箱绑定

漏洞原理

  • 由于开发人员使用了错误的逻辑判断,仅仅在客户端接收用户输入的验证码,并且在本地校验验证码是否正确。
  • 而该判断结果也可以在本地进行修改,最终导致客户端误以为我们已经输入了正确的验证码,实现了验证码绕过
  • 验证码机制之验证码绕过

试示例

案例

通过验证码绕过漏洞实现重置任意用户密码

测试方法

1、在接收验证码后,输入任意验证码,提交并抓包

2、尝试修改返回包中相关的参数值。

3、转发数据包,若进入密码重置页面,则证明存在漏洞。

第一步 抓取找回密码的验证码数据包
验证码机制之验证码绕过
第二步 修改返回的数据包
验证码机制之验证码绕过
验证码机制之验证码绕过
验证码机制之验证码绕过
第三步 成功进入填写新密码,并且修改密码成功

验证码机制之验证码绕过

防御方案

在服务端增加验证码的认证机制,而不仅仅是在客户端进行判断。

摘抄


后来明白,我们永远无法成为别人满意的那个自己,

可如果坚持做喜欢的自己,终会遇见喜欢你的人。

其实到最后,我们都是在寻找同类,

就像溪流汇入江海,光束拥抱彩虹。

——陈亚豪