收藏 [登录/注册] 欢迎
榕基门户网及子站
联系我们
  • 福建榕基软件股份有限公司
  • 电话:0591-87860988
  • 传真:0591-87869595
  • 地址:福建省福州市鼓楼区
  •    软件大道89号
  •    A区15座
  • 邮编:350003
您的当前位置:首页 > 技术支持 > 安全公告

谈谈手机验证码的安全漏洞与利用

一、背景

手机验证码往往是面对用户的重点业务,那么本期就关于手机验证码所出现的安全问题,做个小小总结,文章如有不完善之处,欢迎各位同学共同交流讨论。

二、短信轰炸

网上之前会曝出一些关于“短信轰炸机”的新闻。

举两个生活中的小场景:

1. 你在淘宝上给了别人差评,随后几天遭到若干天的短信轰炸。

2. 你 工作/上学 时,跟某些人闹了矛盾,事后半夜你遭到各种电话轰炸。

原理解析:

下面我们以一个例子来更方便的讲解该漏洞。

(以下所有漏洞已经通报厂商,并已修复,读者切勿尝试)

这是某央企商超业务的公众号,让我在公众号绑卡。

谈谈手机验证码的安全漏洞与利用

我们点击  【我的账户】==》获取验证码:

谈谈手机验证码的安全漏洞与利用

这里我们可以通过burpsuit抓个包。

谈谈手机验证码的安全漏洞与利用

返回了Unicode编码,我们这里解码。

谈谈手机验证码的安全漏洞与利用

既然确定可以发送成功的话,那我们不断的GO,不断的重发该数据包。

如果后端没做校验的话,就造成了短信轰炸,如图:

谈谈手机验证码的安全漏洞与利用

这时候我们已拿到手动轰炸的效果,这就是轰炸机雏形。

疑问1:那么如何优雅的做一个小小的轰炸机呢?

分析好获取验证码的请求包,使用Python的request库,发送请求。

疑问2:加个while true死循环,会一直发吗?薅羊毛,可能会被发现的吧?

原理上,如果对方没有做反制策略的话,你手机应该是不会消停了,但薅死这只羊,肯定会发现啊。会把厂商的短信费全部花完….

疑问3:有的不只是手机验证,也有的是电话轰炸呢?

其实也同理,只不过有的买的是短信业务,一部分买的是电话验证码业务。当然不排除人工打电话或者其他的方式..

Warning: 各位看官请在遵循《网络安全法》的情况下,开展学习与实践活动。

三、验证码过短,造成的任意用户登录

漏洞主要表现是,验证码发送的常常是四位的纯数字,四位数字的话,基本上几分钟就可以爆破出来验证码是什么了…

下面我们拿某传媒平台来举个栗子。该传媒平台类似 某头条,属于咨询类行业的二级梯队。日活跃流量上百万了。发现在账户登录(手机验证码登录)处,可以获取验证码。(具体抓包细节上章我们说过)发送验证码之后发现验证码可能存在暴力破解。

谈谈手机验证码的安全漏洞与利用

30分钟有效时间,绰绰有余了。这里,输入手机号,验证码为1111。

发送到intruder模块后,准备开始暴力破解。

谈谈手机验证码的安全漏洞与利用

从结果上看Length进行排序,验证码4112   payload命中。

所以短信验证码可被暴力破解,可登陆任何用户账号。

当然了,如果这时候能搞到内部人员的手机号之类的话,获取到web系统权限自然也有可能啦。

 

谈谈手机验证码的安全漏洞与利用

Warning: 各位看官请在遵循《网络安全法》的情况下,开展学习与实践活动。

四、验证码Response回显

通过前两章的内容,我们已经可以看到,验证码的不安全逻辑已经造成了严重的安全问题。 那么还有哪些高危问题值得我们关注呢?

想来想去也就剩下 验证码Response回显问题了….

有的研发人员想偷个懒,逻辑没有做清楚。

当你发送验证码的请求包之后…..甚至会在Response包里面看见验证码。

下面我们拿某学术平台,平台有两万余名会员,且大多会员来自全国各大高校教师。来举个例子:

谈谈手机验证码的安全漏洞与利用

发送获取验证码请求后,我们来抓到以下的返回包:

谈谈手机验证码的安全漏洞与利用

对….甚至帮你把爆破的事给你省了,直接在返回报里反馈了给你发送的短信所以说,没事抓个包看看…..有可能门口就有个高危等着你报呢。

Warning: 各位看官请在遵循《网络安全法》的情况下,开展学习与实践活动。

五、总结

手机验证码是整个web系统的入口处较为重要的功能业务,负责用户的注册与密码的找回等相当重要责任。所以未来在做安全渗透的时候,小伙伴们不妨可以在手机验证码里看一看,也许会有意外收获与惊喜。