验证码安全问题汇总
起首,我们来看下部份验证码实现的原理
图一
- 1.客户端发起一个恳求
- 2.服务器相应并构建一个新的SessionID同时产生一个随机验证码。
- 3.服务器将验证码和SessionID一并前往给客户端
- 4.客户端提交验证码连同SessionID给服务器
- 5.服务器验证验证码同时废除以后会话,返回给客户端结果
0x01 平安题目及案例
依照下面的实现流程,我们大约大约从四个方面下手,客户端题目、就事端题目、验证码本人题目,另有一个验证码流程治理题目。
1. 客户端题目
客户端天生验证码
验证码由客户端js天生而且仅仅在客户端用js验证
WooYun: 南开大学信息门户web治理不当大约爆破用户密码(利用密码猜用户)
验证码输出客户端
输出在html中(神异样的步骤员)
WooYun: 索尼验证码实现坏处
WooYun: 某会考报名零碎验证码绕过可暴力破解(可导致用户信息透露)
验证码输出在cookie中,这个在乌云中案例也是角力算计多的。
WooYun: 祥瑞航空方便客票遍历
WooYun: 5173验证码可被绕过
2. 就事端
验证码不过期,不有及时废除会话导致验证码复用
这个是最常见的,乌云下面有少量的案例。
WooYun: 苏宁易购某零碎后台多个超级管理员弱口令(验证码可反复利用)
不有遏制非空判断
很多时辰,我们会遗留掉了验证过程中验证码为空的环境
比方去掉cookie中的某些值大约恳求中验证码参数
WooYun: cmseasy后台暴力破解验证码绕过
WooYun: ecshop后台暴力破解验证码绕过
WooYun: ecshop绕过验证码暴利破解2
孕育产生的验证码题目集内的答案极度极端无限
WooYun: 139邮箱图验证码绕过裂痕(目前图形验证码的可意料案例)
3. 别的范例验证码绕过
“调试坚守”照常治理坏处?
WooYun: 阿里巴巴某员工登录接口验证码绕过可撞弱密码
WooYun: 凡客某处验证码绕过裂痕
WooYun: 财付通商户版登录验证码绕过
WooYun: 正方教务管理零碎治理舛讹,可绕过验证码遏制暴破或扫弱口令
“逗你玩”范例
有验证码,你输出什么 ,它都给你过,不验证
WooYun: 网宿某站SQL注入裂痕及验证码绕过
万能验证码(后门?)
WooYun: 百度空间用户登录绕过验证码验证
4. 验证码太复杂,繁冗被机器识别
直接援用猪猪侠的两个金融案例
WooYun: 银行业(招商银行)治理坏处可被穷举冲击
WooYun: 光大证券交易零碎资金账号可被穷举冲击
0x03批改倡导
梳理明确验证码实现逻辑。(囊括不限于验证码会话及时废除等) 验证码不要太复杂。扭曲、粘连等。
保举Google的ReCaptcha