验证码安全
验证码主要分为两大类:
- 操作验证码
- 身份验证码
验证码作用:防止恶意暴力破解、防止恶意注册、刷票、论坛灌水等脚本行为
验证码分类:手机短信、手机语音、通用文字、加减法、非通用文字、非通用文字加背景随机加拉伸、无感知、滑动拼图、文字点选、图标点选、推理拼图、短信上行、语序点选、空间推理、语音验证等等。
验证码绕过(on client)
在输入错误的验证码时,会出现新的验证码,但 Burp 并没有抓到包,说明是验证码在前端生成。
验证码绕过(on server)
拦截请求,vcode
改用错误验证码会报错:
vcode
改为正确的会返回账号密码不存在
说明该验证是在后端进行的,但是发现在用 Repeater 多次重放,仍然返回账号密码不存在,说明该验证码可重复使用。
造成该验证码可重复使用的原因是验证码在验证之后没有销毁 $_SESSION['vcode']