验证码机制之验证码重复使用

介绍

  • 通常在网站的注册、登录、留言板以及评论区等页面会设计有验证码。
  • 如果设计不合理,将会导致验证码在验证成功一次之后,下次使用的时候就不再刷新也就是可重复使用。

验证码重复使用的危害

  • 恶意注册
  • 暴力**
  • 无限刷帖

漏洞原理

  • 通常情况下,验证码校验流程如下所示,当服务器端受理请求后,没有将上一次保存的session及时清空,将会导致验证码可重复使用
    验证码机制之验证码重复使用

测试案例

案例

通过重复使用验证码实现登录页面暴力**。

测试方法:通过重放请求,观察返回的信息提示来进行判断。如果通过重放没有提示

验证码错误″之类的信息,而只是提示“用户名密码错误″这些信息,就说明存在漏洞

第一步 抓取验证码验证数据包
验证码机制之验证码重复使用
第二步 将数据包重复使用,
验证码机制之验证码重复使用

防御方案

当服务器端处理完一次用户提交的请求之后,及时将 session域中的验证码清除,并生成新的验证码。

摘抄


人生最大的幸福,就是确信有人爱你,

有人因为你是你而爱你,或更确切地说,

尽管你是你,有人仍然爱你。

–雨果《悲惨世界》