手机验证码常见漏洞总结

0X00 前言

  手机验证码在web应用中得到越来越多的应用,通常在用户登陆,用户注册,密码重置等业务模块用手机验证码进行身份验证。针对手机验证码可能存在的问题,收集了一些手机验证码漏洞的案例,这里做一个归纳总结,在测试中,让自己的思路更加明确。常见的手机验证码漏洞如下: 

1、无效验证

2、客户端验证绕过

3、短信轰炸

4、验证码爆破

5、验证码与手机号未绑定

0X01 无效验证

  有验证码模块,但验证模块与业务功能没有关联性,此为无效验证,一般在新上线的系统中比较常见。

案例一: 

  获取短信验证码后,随意输入验证码,直接输入两次密码,可成功更改用户密码,没有对短信验证码进行验证,可能导致CSRF等问题。

案例二:任意用户注册

  第一步,利用自己的手机号接收验证码进行验证,下一步跳转到一个设定密码的页面

  第二步,抓包,篡改手机号,使用任意手机号进行注册

问题剖析:业务一致性存在安全隐患,身份验证与密码修改过程分开,验证无效。

参考链接:https://woo.49.gs/static/bugs/wooyun-2016-0189300.html

        https://woo.49.gs/static/bugs/wooyun-2013-026652.html

0X02 客户端验证绕过 

  客户端验证是不安全的,可能导致任意账号注册、登录及重置任意用户密码等一系列问题。

案例一:直接返回明文验证码

  点击获取收集验证码,监听到两条json数据,可以发现验证码就藏在ticket里面,输入9360即可登陆成功。

案例二:返回密文验证码

  验证加密后返回客户端,用户解密即可获取验证码。

 

案例三:拦截替换返回包

  第一步,使用正常账号修改密码,获取验证码通过时服务器返回数据,保存该信息

  第二步,使用fiddler下断,之后点击确定,服务器会返回验证码错误之类的信息,使用{"MessageHeader":{"MessageID":"RSP036","ErrorCode":"S000","Description":"成功!"}}此信息进行替换后再执行,密码修改成功。

问题剖析:常见于APP等客户端软件,通过拦截替换返回信息,绕过客户端本地验证。

参考链接:吉祥航空可以绕过手机验证码修改任意账号密码 

      http://cb.drops.wiki/bugs/wooyun-2015-0104509.html

0X03 短信轰炸

  短信轰炸是手机验证码漏洞中最常见的一种漏洞类型。

  在测试的过程中,对短信验证码接口进行重放,导致大量发送恶意短信。

案例一:无限制,任意下发

案例二:有一定时间间隔,无限下发

  每隔60秒可下发一条短信,无限下发,短信轰炸。在测试过程中,可通过编写Python脚本来计算短信下发时间间隔,实现短信轰炸。

 

#coding=utf-8
import json
import requests
import time
start_time = time.time()
count =input("Please input counts:")
phone =raw_input("Please inut your phone:")
i=0
while (i<count):
    url= "http://xxxx.cn:9092/map/GenerationUpdate"
    data=json.dumps({"headerInfo": { "functionCode": "randomcode4G"},"requestContent":{"phoneNumber":phone}})

    header = { 'User-Agent' : 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Version/10.0 Mobile/14D27 Safari/602.1''Host': 'xxxx.com:9092',
        }  
    r = requests.post(url, data=data,headers=header,timeout=5)
    result=r.content
    if result.count('serviceCode":0'):
        print 'Sending message : %d seconds ' % (time.time()-start_time)
    i=i+1
    #print 'send %s time'%(i)

0X04 验证码爆破 

  短信验证码一般由4位或6位数字组成,若服务端未对验证时间、次数进行限制,则存在被爆破的可能。

  输入手机号获取验证码,输入任意短信验证码,发起请求,抓包,将短信验证码字段设置成payloads取值范围为000000-999999进行暴力破解,根据返回响应包长度判断是否爆破成功。

0X05 验证码与手机号未绑定

  一般来说短信验证码仅能使用一次,验证码和手机号未绑定,验证码一段时期内有效,那么就可能出现如下情况:

  1、A手机的验证码,B可以拿来用

  2、A手机在一定时间间隔内接到两个验证码,都可以用。(该问题可能为产品策略设定,参考链接:https://woo.49.gs/static/bugs/wooyun-2012-08679.html)

  检测接收验证码的手机号和绑定的手机号是否一致。

案例一:任意用户密码重置

  1.使用自己手机号收取验证码

  2.自己的验证码和对方的手机号填上,下一步城管设置新密码

 

 

0X06 代码层逻辑缺陷

如果代码层的逻辑是这样子:
  1、验证手机号是否已发送给验证码
  2、去除用户输入的空格和其他特殊字符
  3、重新发送验证码

 那么,可利用"\n"和空格可绕过,持续递增空格就可造成无限短信轰炸。

思路:有空就在手机号号码后面加一位进行FUZZ,可能会发现不一样的惊喜。

 

 

 参考链接:

https://woo.49.gs/static/bugs/wooyun-2014-080315.html

https://woo.49.gs/static/bugs/wooyun-2012-013836.html

 

解决方案:

  1.在服务器进行有效验证,手机号和验证码在服务器进行唯一性绑定验证。

  2.在服务端限制验证码发送周期,设置时效,限制次数。

 

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

 

 

转载于:https://www.cnblogs.com/xiaozi/p/7691344.html

漏洞挖掘思路短信验证码相关的逻辑漏洞 ​ 在漏洞挖掘中,我们经常遇到具有验证码功能的网站,例如登录,注册,找回密码,领取优惠券,修改信息等地方,几乎都有用到获取验证码,验证码一般都是4位的或者6位的,以下一些技巧很多都是针对增加提交企业SRC漏洞审核成功率的。1、验证码爆破2、验证码回显3、验证码与手机未绑定认证关系4、修改返回包绕过验证码5、验证码转发6、任意验证码登录7、验证码为空登录8、固定验证码登录9、验证码轰炸​ 通过以上短信验证证明逻辑漏洞的详解,相信读者们能充分意识到信息收集的重要性。 阅读详情

相关推荐

【软件测试】测试点总结,收取短信验证码的测试(详全),你的即用宝典......

现在的APP,很多都需要登录注册,而注册一般要验证手机号码,就会发短信验证码,类似一个下面功能,我们会怎么考虑进行测试? 首先确定页面有哪些元素,并且明确功能、测试点等,点击手机号获取验证码是用来做什么的。首先明确和细化需求,(明确功能)验证码是手机下发的验证码,还是图片验证码等。在明确功能后先冒烟测试或通过性测试,测试功能正常使用后,再进行非通过性(异常)测试。1、先进行通过性测试输入正确的手机号码,点击获取验证码,查看手机是否收到短信。收到短信后输入验证码:若为登录功能,还应检查是否进行页面跳转,是否正

m0_70102063的博客 9020

验证码漏洞汇总(一)

验证码漏洞

weixin_45095113的博客 2895

APP端常见漏洞与实例分析

前言:白帽子们一般都是从web端开始学习安全技术,但是我们并不满足于web端,自然而然地对APP端产生了浓厚的兴趣,本文将讲述如何在移动端进行渗透,并分享自己在对移动端渗透过程中常见的漏洞与一些案例的分析。 01环境搭建 首先下载一个模拟器来模拟手机的环境,本文使用的是夜神模拟器。 1、在burpsuite中新建一个代理,注意端口不要冲突 2、在模拟器中打开设置界面中的WLAN菜单,长按弹出,点击修改网络 3、点击手动,然后配置电脑的ip,和代理端口,保存退出。 4、打开浏览器,访.

IT教育任姐姐的博客 609

关于验证码的那些漏洞

本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。简单的系统存在可以直接爆破的可能性,但做过一些防护的系统还得进行一些绕过才能进行爆破。对于6位纯数字验证码:六位数的验证码1000000位,单从爆破时间上来看就比4位数的多100倍。手机号码前后加空格,86,086,0086,+86,0,00,/r,/n, 以及特殊符号等。用户绑定了手机号,正常来说是获取绑定手机号的短信,通过burp修改成其他手机号。点击提交,抓包改成其他刚刚接收短信的手机号。

baimaozi008的博客 3193

注册、登录、密码修改页面渗透测试经验小结

目录 失效的图形验证码 手机验证码是否可被爆破 手机验证码批量重放(短信炸弹) 注册页面批量注册 注册页面覆盖注册 网站登录页面绕过 任意用户密码重置 失效的图形验证码 在很多的注册、登录、密码修改等页面都需要用户输入图形验证码,目的是为了防止恶意攻击者进行爆破攻击。 但是,在很多网站,存在图形验证码功能失效的问题,也就是说当第一次输入正确的图形验证码提交后,我不刷新该页面...

谢公子的博客 8592

Unity 升级引擎版本后构建报错:script class layout is incompatible between the editor and the player

Unity升级引擎版本后,项目报错:script class layout is incompatible between the editor and the player。

学习与分享 595

网络安全漏洞——验证码漏洞

网络安全漏洞——验证码漏洞

A906003660的博客 2956

Linux安装消息队列IBM MQ 7.5开发版安装配置详解

消息队列IBM MQ 7.5开发版安装配置详解 文章目录消息队列IBM MQ 7.5开发版安装配置详解前言一、什么是IBM MQ?二、安装前准备1、安装前准备2、安装MQ Server3、启动实例4、创建队列一个名为TEXT的队列(测试)5、启动端口监听6、启动成功总结 前言 IBM 已经熟练地优化了 MQ(消息队列),在市场上已有超过 25 年的历史。借助 MQ(消息队列),如果无法立即传递消息,那么会在其等待队列中确保消息安全,直到保证传递为止。竞争产品可能会传递两次消息或根本不传递消息,而 M

zhx__的博客 5166

逻辑漏洞-其二(登录验证码安全)

验证码漏洞检测流程。

qq_64177395的博客 5171

卡方分布的前世今生:一个统计概念的演化史

本文追溯了卡方分布从19世纪末的理论雏形到现代统计推断核心工具的发展历程。从Karl Pearson的数学奠基到Ronald Fisher的理论完善,卡方分布在医学研究、社会科学和机器学习等领域展现出广泛应用。文章通过代码示例和性质分析,揭示了这一统计概念如何持续推动数据科学创新。

weixin_29251567的博客 392

【Python图像处理局部放大】输入图像,选择两处不同的区域进行放大操作,然后将原始图像、处理后的两个区域以及标记合成新图像进行展示

Python图像处理与区域放大连接标记:选择特定区域并对其进行放大操作,然后将原始图像、处理后的两个区域进行标记后的新图像保存到文件中。

qq_35831906的博客 2243

逻辑漏洞:验证码相关的逻辑漏洞

验证码可能被恶意窃取或篡改,导致安全性受到威胁;验证码可能被恶意利用,例如通过社会工程学手段诱使用户提供验证码,从而实施诈骗或盗取个人信息;验证码的生成算法可能存在弱点,被攻击者破解从而生成有效验证码;验证码的有效期设置不当或者重复使用,也可能被攻击者利用。综上所述,验证码相关的逻辑漏洞可能会给用户带来安全风险,因此在设计和使用验证码时应当注意以上问题,加强安全性措施以保护用户信息安全。

qq_68163788的博客 1955

上位机 寻边器 通讯实战

寻边器通讯接口实现 本文介绍了上位机与盖泽(Gazer)和JEL品牌寻边器的通讯接口实现方案。主要内容包括: 接口定义:创建了IAlignerOperation接口,定义了获取状态、控制运动、真空吸附等核心功能。 具体实现: 盖泽寻边器(GazerAlignerCjh):通过串口通讯,实现了回零、校准、移动位置等操作 JEL寻边器(JelAligner):同样基于串口通讯,包含错误处理、状态查询等功能 工厂模式:通过AlignerFactory工厂类根据设备品牌创建对应的实现对象。 设备加载:展示了如何在系

StevenChen的博客 380

验证码常见漏洞总结

0X00 前言  手机验证码在web应用中得到越来越多的应用,通常在用户登陆,用户注册,密码重置等业务模块用手机验证码进行身份验证。针对手机验证码可能存在的问题,收集了一些手机验证码漏洞的案例,这里做一个归纳总结,在测试中,让自己的思路更加明确。常见的手机验证码漏洞如下: 1、无效验证2、客户端验证绕过3、短信轰炸4、验证码爆破5、验证码与手机号未绑定0X01 无效验证  有验证码模块,但验证模块...

Sunnyyou2011 5324

【面试系列】数据工程师高频面试题及详细解答

本文针对数据工程师岗位,提供了详尽的面试题库和解答,分为初级、中级和高级三个层次。初级面试题主要涉及基本的数据处理和ETL工具的使用,如SQL查询、数据清洗和基本的数据建模。中级面试题重点考察数据管道设计、数据库优化和大数据平台的应用。高级面试题则深入探讨高级数据处理技术、分布式系统架构和数据湖的实现。通过这些问题和解答,候选人可以全面了解数据工程师岗位所需的技能,帮助其更好地准备面试。常考知识点总结部分则系统归纳了数据工程师岗位的关键技能领域。

在路上的专栏 2376

DRM全解析 —— encoder详解(3)

DRM全解析 —— encoder详解(3)

phmatthaus的专栏 493

密码重置逻辑漏洞

摘要:密码重置功能存在多种逻辑漏洞,主要测试方法包括熟悉业务流程和分析HTTP请求。常见漏洞类型包括重定向漏洞、响应包篡改/步骤跳过、验证码回显/爆破、Token篡改、邮箱劫持等。通过工具抓包和参数分析,可发现未严格校验的跳转地址、可修改的验证状态或弱验证码等安全隐患。建议使用Burp Suite等工具自动化检测Token随机性和验证码强度,并参考相关技术文章加强防护措施。(149字)

2402_89693936的博客 1357

组合预测 | Python实现LSTM-XGBoost长短期记忆网络组合极限梯度提升树股票价格预测

组合预测 | Python实现LSTM-XGBoost长短期记忆网络和极限梯度提升树股票价格预测

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 2353

逻辑漏洞之验证类

验证类逻辑漏洞验证类(登录注册页面)密码修改爆破手机验证码批量注册注册覆盖手机号 验证类(登录注册页面) 验证类漏洞常常发生在登录页面,密码找回页面,注册页面 这些逻辑漏洞有: 登录绕过(任意用户登录) 密码找回漏洞 绕过验证码 爆破手机验证码(改变手机验证码发送位置) 短信炸弹 批量注册 注册覆盖手机号(或邮箱) 密码修改 通过抓包,修改手机号或邮箱的方式,将验证码发送到我们能收到的设备上。 可以通过爆破收手机验证码的方式 若未绑定手机号等,我们可以进行绑定,这样更方便修改密码 对修改密码的页面没有做

buffedon的博客 520

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结

  Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码  用户操作 ,比如要求拖动等21.3. 第三代验证码 手机验证码 短信验证码22. 短信验证码的原理23. 常用破解法23.1. 漏洞绕过法23.2. 手机 软件转发法23.3. 手机api法33.4. 默认万能密...

weixin_34306676的博客 1058

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

轰炸安机手机怎么处理/一个短信就能改你密码、偷你钱!你遇到过这个技术吗?_0基础网安记录贴

导读:现在不管是网站或App注册、登陆、绑定、解封,都逐渐的抛弃掉了传统的邮箱、账号、密码等验证方式,大范围的使用短信验证,首先短信验证可以减少

程序员六七的博客 955

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【无标题】

短信验证码横向轰炸是一种恶意攻击手段,攻击者利用网站或应用的短信接口漏洞,向大量不同手机号发送验证码短信,造成骚扰和资源浪费。

2301_81326579的博客 225

验证码的绕过与防御

验证码分类 GIF动态验证码 手机短信验证码 手机语音验证码 视频验证码 原理: 1、验证码在本地验证;关闭本地的js验证;利用BP关闭JS 2、验证码输出到客户端:输出到html代码中 3、验证码输出到cookie中:开始时不需要输入验证码,输入几次错误之后会有验证码的输入,此时会在cookie中设置参数,来进行记录输入错误的次数,可以将该参数删除或固定,来进行爆破 4、服务端: 1)验证码不过期; 2)未进行非空判断:删除cookie中的对验证码的传参部分 3)验证码的库有限

ppbgi的博客 989

7类 登录/注册 安全漏洞

一、验证方式可绕过 常见的验证方式有:验证码(字符或数值计算),滑动验证(滑块或特定路径),点击验证(按照要求点击字符或图案)等。 再次发送该请求,查看响应结果 结果如上图,说明验证码无效,可以重复利用该请求恶意批量注册(类似短信轰炸) 修复建议: 1、增强验证码机制,为防止验证码被破解,可以适当增加验证码生成的强度,例如中文图形验证码。 2、限制一定时间内IP登录失败次数。 二、账号可枚举 漏洞描述: 接口对于不同的账号、密码返回的数据不一样,攻击者可以通过回显差异进行用户名的枚举,拿到账户名之后

9647
上一篇: PHP代码层防护与绕过
下一篇: D盾 v2.0.6.42 测试记录
an0708
博客等级 码龄12年 30粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值