首页 > 其他分享 >验证码漏洞

验证码漏洞

时间:2022-10-31 10:36:17浏览次数:54  
标签:短信 验证 验证码 用户 漏洞 绕过 客户端

验证码漏洞

分类

  • 图片验证码

通过在图片上随机产生数字、英文字母、汉字或者问题进行验证。伴随OCR技术的发展,能够轻易被破解

  • 手机短信验证码

可以比较准确和安全地保证购物的安全性,验证用户的正确性,是最有效的验证码系统。

  • 行为式验证码

行为式验证码是通过用户的某种操作行为来完成验证,如拖动式验证码、点触式验证码

  1. 拖动式验证码:类似于手机的滑动解锁,将滑块拖动到指定位置完成验证
  2. 点触式验证码:选择图片中与文字描述相符的内容完成验证
  • 语音验证码

常用于网站、移动客户端、银行金融等用户身份验证,以及支付确认等安全性要求更高的即时服务。

  • 视频验证码

视频验证码将随机数字、字母和中文组合而成的验证码动态嵌入MP4、flv等格式的视频中,增大了破解难度。可以有效防范字典攻击、穷举攻击等。

危害

  1. 恶意攻击者对账号密码利用工具进行暴力破解
  2. 任意用户登陆
  3. 验证码缺失利用抓包工具对目标网站或个人实施短信轰炸

漏洞检测

通用设计缺陷

  • 验证码无效

无论输入什么都判断验证正确

  • 验证码由客户端生成、验证

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

检测:判断验证码是否仅由客户端验证

  • 验证码回显

验证码在HTML或Cookie中显示,或者输入到Response Headers的其他字段,可被直接查看

检测:查看HTML源码或者对相应包进行分析

  • 验证码固定

也叫验证码重复使用,是指验证码没有设置使用期限,首次认证成功后诶呀删除Session中的验证码,使得验证码可以多次被验证成功。

检测:填写正确登录信息和验证码,然后抓取提交数据包,重复提交该数据包,登陆成功则存在验证码重复使用的问题。注意,可通过修改与验证码无关的参数的大小来实现多次提交,自设一个字典作为该参数Payload。

  • 验证码可爆破

服务端对验证时间、次数做出限制,存在爆破的可能性。

检测:利用BurpSuite对验证码参数进行暴力破解

  • 验证码可猜测

验证码设置比较简单,可能只有数字或者字母组成,也可能是其设定范围有限,导致验证码内容可被猜测。

检测:根据已有验证码对验证码设定范围进行猜测。

  • 验证码可绕过

由于逻辑缺陷,可绕过,常见绕过方式有直接删除Cookie、验证码参数为空、直接删除验证码参数可绕过和修改Response状态值等,也可根据情况组合以上绕过方式

检测:利用BurpSuite更改请求包数据进行多次测试。

短信验证码

很多系统的短信验证码接口存在逻辑问题,因此产生的危害也很多,比如短信轰炸、任意用户注册、任意用户重置密码等,还可能导致CSRF。

短信验证码漏洞通常出现在注册登录、密码找回、敏感信息修改、获取等模块。

  • 短信轰炸

这类漏洞存在的原因是没有对短信验证码的发送时间、用户及其IP做一些限制。

检测:抓包后利用Burp Suite的重放功能,结果均返回成功

  • 任意用户注册

没有将短信验证码与手机绑定,可通过更改手机号填写

  • 任意用户密码重置

一般出现在密码找回模块,系统没有将发送的短信验证码与手机绑定,可通过修改手机号获取验证码进行绕过,重置和登陆该用户的账号、密码。

但也有一种情况就是,系统将发送的短信验证码与手机绑定了,但没有将该手机号和相应账号绑定,还是可以绕过。

修复

修复时建议使用安全性强的验证码。

可以从一下方面保证验证码的安全性:验证码长度不低于4位,至少同时包含数字、字母或汉字,增加干扰因素如线条等,避免使用容易被程序自动识别的验证码。此外也可通过以下方式修复:

  • 验证码不应由客户端生成或返回客户端
  • 系统在开发时注意验证识别后销毁Session中的验证码
  • 用户提交的验证码不能为空
  • 短信验证码不少于6位,有效期不超过1分钟,验证码错误次数超过上限采取账户锁定策略。

标签:短信,验证,验证码,用户,漏洞,绕过,客户端
From: https://www.cnblogs.com/blackclouds2810/p/16843426.html

相关文章

  • 内网安全之:MS14-068 Kerberos 域用户提权漏洞
    内网安全之:MS14-068Kerberos域用户提权漏洞目录内网安全之:MS14-068Kerberos域用户提权漏洞0漏洞说明(MS14-068;CVE-2014-6324)1pyKEK工具包2MSF中ms14_068利用......
  • 反序列化漏洞
    反序列化漏洞简介PHP反序列化漏洞也叫PHP对象注入,形成的原因是程序未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行、文件操作、执......
  • pikachu php反序列化漏洞
    原理php中serialize(),unserialize()这两个函数。序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象:classS{publ......
  • 5.用户手机验证码登录
    用户手机验证码登录一、yapi接口文档二、代码实现1.服务提供者1.1在tanhua-dubbo-db模块创建Mapper接口com/tanhua/dubbo/mappers/UserMapper.java(数据层,查询数据库)p......
  • 3.登录发送验证码
    登录发送验证码1.接口说明2.流程分析客户端发送请求服务端调用第三方组件发送验证码验证码发送成功,存入redis响应客户端,客户端跳转到输入验证码页面3.代码实现3......
  • 大米cms爆破后台及支付逻辑漏洞
    又找到个网站挖洞,我来康康。大米手机是个什么鬼手机??看一下吧这个支付页面好熟悉,可能存在支付逻辑漏洞,咱们用burp改个包看看。先支付一个看看把包里那个=1改成0试试~证实确......
  • 任意文件下载漏洞
    任意文件下载漏洞概述网站由于业务需求,提供文件查看或下载功能,如果对用户查看或下载的文件不做限制,恶意用户就能够查看或下载任意文件,任意文件类型包含源代码文件、敏感......
  • 验证码案例的实现---MyBatis+Session+Cookie
    展示验证码(jsp页面)首先,我们需要自己利用BufferedImage类去生成一张可以变换的验证码图片;之后,我们就可以利用这样一串代码去将验证码里面的内容获取到:这是一串测试代码:O......
  • SEED实验:缓冲区溢出漏洞实验__网络攻防实验
    sudosysctl-wkernel.randomize_va_space=0sudosucd/binrmshln-szshsh/*stack.c//Thisprogramhasabufferoverflowvulnerability.//Ourtaskis......
  • 后漏洞利用阶段
    补充因本次实验所写博客篇幅过长,本篇为上篇内容的补充。上篇为Windows缓冲区溢出后漏洞利用阶段当我们利用SLMail的缓冲区溢出漏洞控制系统后,我们还要进行上传工具、提......