验证码安全问题

渗透技巧 8个月前 admin
106 0 0

相应的文章,只是觉得应该有个入门级的“测试用例”。本文不涉及OCR,不涉及暴力四六位纯数字验证码,不涉及没有验证码的情况(神马?没有验证码?没有验证码还讨论什么,要不人家不 care,要不人家已经胸有成竹有更牛逼的方法)。本文可能会与之前的某些文章有重合,可能与drops的“最严肃的安全原创平台”气质不符,请在家长指导下阅读。

首先,我们来看下整个验证码实现的原理

验证码安全问题

看不懂?没关系,这不是有解释吗

  • 1.客户端发起一个请求

  • 2.服务端响应并创建一个新的SessionID同时生成一个随机验证码。

  • 3.服务端将验证码和SessionID一并返回给客户端

  • 4.客户端提交验证码连同SessionID给服务端

  • 5.服务端验证验证码同时销毁当前会话,返回给客户端结果


安全问题及案例

根据上面的实现流程,我们大概可以从四个方面入手,客户端问题、服务端问题、验证码本身问题,还有一个验证码流程设计问题。

客户端生成验证码

验证码由客户端js生成并且仅仅在客户端用js验证

具体案例搜索:

南开大学信息门户网站设计不当可以爆破用户密码(利用密码猜用户)、索尼验证码实现缺陷、某会考报名系统验证码绕过可暴力破解(可导致用户信息泄露)

验证码输出在cookie中


具体案例搜索:

 吉祥航空任意客票遍历、5173验证码可被绕过

验证码不过期,没有及时销毁会话导致验证码复用,这个是最常见的

具体案例搜索

苏宁易购某系统后台多个超级管理员弱口令(验证码可重复利用)

没有进行非空判断

很多时候,我们会遗留掉了验证过程中验证码为空的情况

比如去掉cookie中的某些值或者请求中验证码参数

具体搜索

cmseasy后台暴力破解验证码绕过、ecshop后台暴力破解验证码绕过、ecshop绕过验证码暴力破解2

产生的验证码问题集内的答案非常有限 :139邮箱图验证码绕过漏洞(目前图形验证码的可预测案例)


“调试功能”还是设计缺陷?阿里巴巴某员工登录接口验证码绕过可撞弱密码、凡客某处验证码绕过漏洞、 财付通商户版登录验证码绕过、正方教务管理系统设计错误,可绕过验证码进行暴破或扫弱口令


“逗你玩”类型

有验证码,你输入什么 ,它都给你过,不验证

网宿某站SQL注入漏洞及验证码绕过

万能验证码(后门?)

百度空间用户登录绕过验证码验证

4. 验证码太简单,容易被机器识别

直接引用猪猪侠的两个金融案例

银行业(招商银行)设计缺陷可被穷举攻击

光大证券交易系统资金账号可被穷举攻击

修改建议

梳理清楚验证码实现逻辑。(包括不限于验证码会话及时销毁等) 验证码不要太简单。扭曲、粘连等。

推荐Google的ReCaptcha

真要讲解原理,没有个几千万字的论文也讲不清楚,基本的原理都包含在所涉及的案例里面,具体原理自行google

原文始发于微信公众号(黑客网络安全):验证码安全问题

版权声明:admin 发表于 2023年9月12日 上午9:12。
转载请注明:验证码安全问题 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...