跳到主要内容

验证码安全

验证码主要分为两大类:

  1. 操作验证码
  2. 身份验证码

验证码作用:防止恶意暴力破解、防止恶意注册、刷票、论坛灌水等脚本行为

验证码分类:手机短信、手机语音、通用文字、加减法、非通用文字、非通用文字加背景随机加拉伸、无感知、滑动拼图、文字点选、图标点选、推理拼图、短信上行、语序点选、空间推理、语音验证等等。

验证码绕过(on client)

在输入错误的验证码时,会出现新的验证码,但 Burp 并没有抓到包,说明是验证码在前端生成。

验证码绕过(on server)

拦截请求,vcode 改用错误验证码会报错:

vcode 改为正确的会返回账号密码不存在

说明该验证是在后端进行的,但是发现在用 Repeater 多次重放,仍然返回账号密码不存在,说明该验证码可重复使用。

造成该验证码可重复使用的原因是验证码在验证之后没有销毁 $_SESSION['vcode']