验证码原理及存在的安全问题"/>
验证码原理及存在的安全问题
文章目录
- 🐱🚀验证码实现原理
- 🐱🚀安全问题
- 🎃客户端问题
- 🎊服务端问题
- 🎨验证码本身问题
- 🧶验证码流程设计问题
- 🐱🚀最后
🐱🚀验证码实现原理
1.客户端发起一个请求;
2.服务端响应并创建一个新的SessionID同时生成一个随机验证码;
3.服务端将验证码和SessionID一并返回给客户端;
4.客户端提交验证码连同SessionID给服务端;
5.服务端验证验证码同时销毁当前会话,返回给客户端结果;
🐱🚀安全问题
- 根据验证码的实现原理,验证码可能存在四个方面的问题:客户端问题、服务端问题、验证码本身问题,还有一个验证码流程设计问题。
🎃客户端问题
- 客户端生成验证码:验证码由客户端js生成并且仅仅在客户端用js验证
- 验证码输出客户端:输出在html中
- 验证码输出在cookie中
🎊服务端问题
- 验证码不过期,没有及时销毁会话导致验证码复用;
- 没有进行非空判断:很多时候,我们会遗留掉了验证过程中验证码为空的情况,比如去掉cookie中的某些值或者请求中验证码参数;
- 产生的验证码问题集内的答案非常有限 ;
🎨验证码本身问题
- 有验证码,但是你输入什么都给过,不过这个问题随着安全意识的提高,基本不存在了;
- 万能验证码:开发人员为了方便设置过于简单的验证码,例如:0000、1234、6666等等。
🧶验证码流程设计问题
- 即本身逻辑有问题。
🐱🚀最后
大家有什么补充的,请在评论区留言。👍
更多推荐
验证码原理及存在的安全问题
发布评论