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模块中重复多次发送该数据包,回显登录成功等字眼,没有提示验证过期则存在验证码重复利用漏洞。

验证码漏洞汇总(一)相关推荐

  1. 事半功倍的验证码漏洞处理:真牛到了南极,牛逼到了极点

    01.介绍 1.1 验证码漏洞 顾名思义,验证码漏洞就是验证码本身存在问题,或者是与验证码相关的内容存在问题. 1.2 验证码作用 客户端发起请求-> 服务端响应并创建一个新的 SessionI ...

  2. 漏洞介绍及修复建议(漏洞汇总,建议收藏后期会不断更新)

    目录 未分类 Host 头攻击(高危) 域名访问限制不严格(高危) URL 重定向(中危) 会话劫持漏洞(中危) 会话固定漏洞(中危) DNS 域传送漏洞(中危) 检测到网站被黑痕迹(高危) 传输层保 ...

  3. 常见编辑器漏洞汇总【超全】(转载)

    前言: 原文链接:https://view.inews.qq.com/a/20210917A0FZ6K00 以前挖某站发现使用了编辑器,想用通用漏洞探一探,奈何当时无从下手,这件事就放到了我的心上,就 ...

  4. 常用的30+种未授权访问漏洞汇总

    未授权访问漏洞汇总预览 1 .FTP 未授权访问(21) 2 .LDAP 未授权访问(389) 3 .Rsync 未授权访问(873) 4 .ZooKeeper 未授权访问(2181) 5 .Dock ...

  5. BMC 历史漏洞汇总

    刚开始接触 BMC 以为研究的人比较少,感觉一般人也没有机会接触到.尤其是服务器风扇的声音,一般人也不想去碰.去查了一下 CVE 之后,发现有不少漏洞,还挺多人玩的.近期也在研究这一块,把 BMC 曾 ...

  6. Fckeditor漏洞汇总

    1.查看编辑器版本 FCKeditor/_whatsnew.html ------------------------------------------------------------- 2. ...

  7. 渗透测试学习 十一、 其他注入漏洞汇总

    大纲:提交方式注入 参数型注入 其他注入 提交方式注入 常见的提交方式: GET:大多数,正常的浏览,以URL的方式进行传参,不安全,明文传输,存在长度限制.xx.com/x.php?id=1 POS ...

  8. php 重命名 漏洞,上传漏洞[汇总]

    最后必然失去的希望就是毒药啊. 个人对上传漏洞的理解在第一章节就说过了,这里稍微复述一下.上传漏洞按个人理解分两种,第一种是代码层的.即代码过滤不严格,或者使用客户端本地校验.第二种是服务层的,比如i ...

  9. 用友NC 漏洞汇总(转载)

    komomon 编码安全研究 2022-11-21 09:09 发表于北京 免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不 ...

  10. Apache漏洞汇总:

    Apache HTTPD 换行解析漏洞(CVE-2017-15715): 访问ip:8080 上传1.php正常被拦截 查看hex:找到1.php后缀p后缀为70,0a0d为换行,因此在0d之前加入0 ...

最新文章

  1. 坦克世界服务器未响应怎么解决,华硕笔记本老是程序未响应怎么处理
  2. 未能加载类型“URLRewriter.ModuleRewriter”。 解决方法
  3. 用_beginthreadex不用 CreateThread
  4. 【SpringBoot零基础案例09】【IEDA 2021.1】SpringBoot将核心配置文件中的自定义配置映射到一个对象
  5. beetl 时间输出格式化
  6. 33 Java语言基础控制跳转语句标号
  7. 2021-04-04 CPU缓存一致性 MESI协议
  8. 【es】使用ElasticSearch的44条建议 性能优化
  9. azure机器学习_如何在Azure机器学习中使用JSON数据
  10. linux怎样使用小米线刷工具,在linux上怎么样线刷小米手机
  11. vs 2017 专业版 密钥
  12. Stata:调节中介效应检验
  13. 论文格式问题解决,标题前的黑点去除,分页后产生的空格消除。
  14. 周六研易01:深入研究甲木选用法
  15. 时隔一年半,我,一个卑微的前端初学者,又来写面经了
  16. nyoj 1237 最大岛屿(dfs)
  17. 关于 ConcurrentHashMap 1.8 中的线程探针哈希
  18. 计算机网络与嵌入式系统,嵌入式系统与计算机系统有什么不同
  19. 图片横向滚动js代码
  20. 火狐网页对话框_默认情况下,在Firefox中展开“添加书签”对话框

热门文章

  1. Python map函数 <map object at 0x000001C5CDCDA2B0>
  2. Marshmallow详解
  3. CERC2017 F-Faulty Factorial【数论】
  4. php odbc informix,Informix CLI 与 ODBC
  5. windows下管理员用户与标准用户切换过程中的坑
  6. 作为IT售前专家,如何真正调研清楚项目需求?(第二篇)
  7. How To Verify the Word Size (32bit vs 64bit) of the Oracle Binary on MS Windows systems (文档 ID 46506
  8. 图片转ICO工具升级版本(支持多位深度32位 24位 8位 4位 1位,单文件)
  9. golang开发android应用(一) - go语言android应用环境搭建
  10. 【语音识别】基于MFCC的GMM实现语音识别matlab源码