验证码漏洞汇总(一)
2.1 漏洞的形成
目前大多数的验证码漏洞形成总结起来两点,验证码生成机制或验证机制存在缺陷引发的问题。
2.2 通用设计缺陷
2.2.1 验证码无效
有验证码功能模块,但验证模块与业务功能没有关联性,即无论输入什么或者不输入验证码都判断验证码正确。
2.2.2 验证码由客户端生成、验证
验证码由客户端js生成并且仅仅在客户端用js验证,通过抓包看是否有验证码字段或者是关闭js看能否通过验证。
验证码由前端验证有个最大的特征即是对字母大小写敏感,如pikachu靶场中,输入正确的验证码但是在大小写上输入错误时:(不知道对不对个人看法)
当验证码输入正确,大小写也正确时:
前端进行检测验证码,后端检验用户名和密码,那就表示当你点击Login的时候,用户名和密码正确就能登录成功,验证码就如同虚设,这里输入的验证码要跟图片的一样,先过了前端检测才能抓到数据包,不然前端验证码检测没过他会弹窗,导致数据包无法抓取,也就不能暴力破解抓取到数据包之后,将验证码随意修改,反正发到后端也不会检测:
举例:前端验证码
前端验证码是由前端浏览器生成的验证码,填完验证码后,先检查验证码正确与否,如果正确则向后端发送请求,调用后端接口。但是验证码放在前端,安全性不高
对应代码:
点开div:
举例:
假设我们直接访问重置链接,就可以直接重置密码,但是我们不知道旧密码,只能输入新密码
破解思路:随便输入旧密码,然后去修改返回包和上面的验证码相比,只不过将验证码改成旧密码而已
后端验证码
后端验证码是由后端生成的验证码。当用户打开登录页面后,浏览器会向服务器发送请求并携带生成的令牌tolken,服务器随机生成验证码验证码,并将验证码和tolken的对应关系存储在redis缓冲中,之后会在前端动态的生成一张验证码图片。当用户输入验证码并点击登录的时候,服务器会在redsi缓存中找到该浏览器的tolken对应的验证码,验证验证码是否正确,如果正确,接下来开始比较用户名和密码。
2.2.3 验证码有回显
验证码在html中或Cookie中显示,或输出到响应头(response headers)的其他字段,可被直接查看。
如图为验证码在cookie中回显:
这里借用freebuf的案例:
在发送短信验证码的接口,有可能在其响应体/响应头中泄漏了验证码。如下案例所示,某教育类APP发送验证码的API接口,在响应体中泄漏了验证码,和客户实际收到的短信验证码一致,攻击者可利用该漏洞实现任意用户登录/注册等操作。
2.2.4 验证码重复利用
验证码重复使用,即登陆失败后验证码可以不刷新,仍然使用上一次登陆时的验证码且有效,存在爆破风险。
Eg:填写正确登录信息和验证码然后抓取提交数据包,在burp中的repeater模块中重复多次发送该数据包,回显登录成功等字眼,没有提示验证过期则存在验证码重复利用漏洞。
验证码漏洞汇总(一)相关推荐
- 事半功倍的验证码漏洞处理:真牛到了南极,牛逼到了极点
01.介绍 1.1 验证码漏洞 顾名思义,验证码漏洞就是验证码本身存在问题,或者是与验证码相关的内容存在问题. 1.2 验证码作用 客户端发起请求-> 服务端响应并创建一个新的 SessionI ...
- 漏洞介绍及修复建议(漏洞汇总,建议收藏后期会不断更新)
目录 未分类 Host 头攻击(高危) 域名访问限制不严格(高危) URL 重定向(中危) 会话劫持漏洞(中危) 会话固定漏洞(中危) DNS 域传送漏洞(中危) 检测到网站被黑痕迹(高危) 传输层保 ...
- 常见编辑器漏洞汇总【超全】(转载)
前言: 原文链接:https://view.inews.qq.com/a/20210917A0FZ6K00 以前挖某站发现使用了编辑器,想用通用漏洞探一探,奈何当时无从下手,这件事就放到了我的心上,就 ...
- 常用的30+种未授权访问漏洞汇总
未授权访问漏洞汇总预览 1 .FTP 未授权访问(21) 2 .LDAP 未授权访问(389) 3 .Rsync 未授权访问(873) 4 .ZooKeeper 未授权访问(2181) 5 .Dock ...
- BMC 历史漏洞汇总
刚开始接触 BMC 以为研究的人比较少,感觉一般人也没有机会接触到.尤其是服务器风扇的声音,一般人也不想去碰.去查了一下 CVE 之后,发现有不少漏洞,还挺多人玩的.近期也在研究这一块,把 BMC 曾 ...
- Fckeditor漏洞汇总
1.查看编辑器版本 FCKeditor/_whatsnew.html ------------------------------------------------------------- 2. ...
- 渗透测试学习 十一、 其他注入漏洞汇总
大纲:提交方式注入 参数型注入 其他注入 提交方式注入 常见的提交方式: GET:大多数,正常的浏览,以URL的方式进行传参,不安全,明文传输,存在长度限制.xx.com/x.php?id=1 POS ...
- php 重命名 漏洞,上传漏洞[汇总]
最后必然失去的希望就是毒药啊. 个人对上传漏洞的理解在第一章节就说过了,这里稍微复述一下.上传漏洞按个人理解分两种,第一种是代码层的.即代码过滤不严格,或者使用客户端本地校验.第二种是服务层的,比如i ...
- 用友NC 漏洞汇总(转载)
komomon 编码安全研究 2022-11-21 09:09 发表于北京 免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不 ...
- Apache漏洞汇总:
Apache HTTPD 换行解析漏洞(CVE-2017-15715): 访问ip:8080 上传1.php正常被拦截 查看hex:找到1.php后缀p后缀为70,0a0d为换行,因此在0d之前加入0 ...
最新文章
- 坦克世界服务器未响应怎么解决,华硕笔记本老是程序未响应怎么处理
- 未能加载类型“URLRewriter.ModuleRewriter”。 解决方法
- 用_beginthreadex不用 CreateThread
- 【SpringBoot零基础案例09】【IEDA 2021.1】SpringBoot将核心配置文件中的自定义配置映射到一个对象
- beetl 时间输出格式化
- 33 Java语言基础控制跳转语句标号
- 2021-04-04 CPU缓存一致性 MESI协议
- 【es】使用ElasticSearch的44条建议 性能优化
- azure机器学习_如何在Azure机器学习中使用JSON数据
- linux怎样使用小米线刷工具,在linux上怎么样线刷小米手机
- vs 2017 专业版 密钥
- Stata:调节中介效应检验
- 论文格式问题解决,标题前的黑点去除,分页后产生的空格消除。
- 周六研易01:深入研究甲木选用法
- 时隔一年半,我,一个卑微的前端初学者,又来写面经了
- nyoj 1237 最大岛屿(dfs)
- 关于 ConcurrentHashMap 1.8 中的线程探针哈希
- 计算机网络与嵌入式系统,嵌入式系统与计算机系统有什么不同
- 图片横向滚动js代码
- 火狐网页对话框_默认情况下,在Firefox中展开“添加书签”对话框
热门文章
- Python map函数 <map object at 0x000001C5CDCDA2B0>
- Marshmallow详解
- CERC2017 F-Faulty Factorial【数论】
- php odbc informix,Informix CLI 与 ODBC
- windows下管理员用户与标准用户切换过程中的坑
- 作为IT售前专家,如何真正调研清楚项目需求?(第二篇)
- How To Verify the Word Size (32bit vs 64bit) of the Oracle Binary on MS Windows systems (文档 ID 46506
- 图片转ICO工具升级版本(支持多位深度32位 24位 8位 4位 1位,单文件)
- golang开发android应用(一) - go语言android应用环境搭建
- 【语音识别】基于MFCC的GMM实现语音识别matlab源码