“本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。”
问题
———————
在当前信息安全日益重要的时代,我们的隐私和数据受到了前所未有的关注。尽管短信验证功能被广泛应用于登录界面,提高了账户安全性,但你是否知道,这种看似安全的功能也可能暴露出一些潜在的漏洞?接下来,我们将探讨短信验证功能可能存在的问题,以及如何确保您的信息安全。
关键点
———————
在本次的文章中,我们书接公众号上面几篇的文章,继续对于登录界面的渗透,本次我们讲述的方向为短信验证码
0x1 为什么用于安全验证的短信验证码还存在漏洞?
虽然短信验证码被广泛应用于身份验证,以提升安全性,但它仍然存在可能的漏洞,主要原因如下:
-
传输过程中的风险:短信在传输过程中可能被截取。黑客可能通过侦听或者中间人攻击来截获短信验证码。
-
社交工程:黑客可能利用社交工程的手段,例如假装是客服人员,诱导用户透露验证码。
-
SIM卡欺诈:如果黑客能够欺诈运营商,并且获取到用户的SIM卡信息,他们就能接收到短信验证码。
-
系统漏洞:如果验证系统设计不当,黑客可能通过猜测或利用系统漏洞,比如重放攻击,越权攻击等绕过验证码步骤。
-
短信轰炸:黑客可能通过大量请求验证码,消耗公司正常使用的短信资源并且可能使得正常用户无法接收到验证码。
在这篇文章中,我们主要着重于我们能够实战发现漏洞的几个方向,分别是传输过程中的风险、系统漏洞和短信轰炸这三个方向
0x2 通用检测方法
依照惯例,我们应该在这介绍一下咱们下来可能需要哪些工具,但是在短信验证码测试这方面我们只需要一个基础工具就可以:
Burp Suite(在网安的道路上绝对绕不过的工具 ,yyds)
1.传输过程中的风险检测
在登录界面输入要发送验证码短信的手机号码或者邮箱后,我们使用BurpSuite拦截数据包,查看验证码是否可以在浏览器交互的数据包中直接获得
2.1 系统漏洞检测->验证码客户端绕过
在过去,确实有类似的漏洞存在,用户可以通过发送任意验证码或更改返回包中的相关值来绕过验证码。然而,随着时间的推移,这种漏洞已经被广大互联网企业所关注和修复,因此大部分大厂应该已经消除了这种漏洞,但是现在在项目中还是有时会遇到
2.2 系统漏洞检测->手机号或邮箱没有和验证码没有绑定
在一些情况下,如果验证码没有和手机号进行绑定,攻击者可以通过篡改手机号来接收他人的验证码,然后进行一系列高危操作,如登录账号、更改密码等
2.3 系统漏洞检测->双写参数绕过验证码
如果厂商没有对验证码功能进行很好的安全限制,那么当我们双写手机号时,他可能会把验证码同时发送给两个手机号,这样我们就能获得别人的验证码了
2.4 系统漏洞检测->验证码爆破
2.5 系统漏洞检测->验证码随机或为空
3.短信轰炸检测
在网站没有对短信验证功能设计安全的限制时,攻击者可以使用短信接口无限制的发包,可以达到消耗目标网站的短信数量以及对手机号码拥有者造成短信轰炸的效果,其实大厂们也很注重此类漏洞,我们点击任何一个大厂的src漏洞接收规则文档时都会有短信轰炸这个漏洞
案例结合
——————————————
在上面对于此类漏洞介绍以及方法总结之后,我们下来结合一个个的案例进行分析,加深理解
0x1 传输过程中的风险案例
我们在登录界面点击发送验证码功能,在交互的一个json数据包中我们可以看到有9360这个验证码
在获得9360这个验证码之后我们可以直接输入登录
0x2.1 系统漏洞检测案例->验证码客户端绕过
我们截取到验证的返回数据包之后,我们修改返回的statusCode数值,将其从代表错误的-1修改为成功的0即可成功绕过
0x2.2 系统漏洞检测案例->手机号或邮箱没有和验证码没有绑定案例
我们使用自己的手机189的号码接收验证码
然后我们使用这个验证码登录另一个手机155的号码账号
我们可以看到,同样的验证码,即使手机号不一样也能登录
0x2.3 系统漏洞检测案例->双写手机号参数发送
我们在参数中同时填写两个手机号时比如:mobile=139xxxx,189xxxx,那么系统可能会同时给两个手机号发送同样验证码的短信
0x2.4 系统漏洞检测案例->验证码爆破
直接使用爆破功能进行爆破即可
0x2.5 系统漏洞检测案例->验证码为空或者1111等随机数
这种情况往往可能出现在新上线的系统中,没有对功能进行测试,导致验证码可以输入随便的数字或者为空都能通过验证,这种情况就不再提供特别案例
0x3 短信轰炸检测
这个案例很简单,如果验证码功能没有限制的时候,使用Burp无限制的发包就可以,但是这方面能单独摘出来进行讨论正是因为其独特的绕过方法
0x3.1 短信轰炸检测->并发绕过验证码安全限制
我们直接使用工具并发发送数据包,每一条的返回包都为发送成功
0x3.2 短信轰炸检测->修改数据绕过
0x3.3 短信轰炸检测->叠加参数绕过
我们直接在参数中叠加参数提交
0x3.4 短信轰炸检测->修改返回包绕过
0x3.5 短信轰炸检测->修改IP绕过
我们直接修改数据包中的XFF的值
0x3.6 短信轰炸检测->修改Cookie绕过
0x4 Last
漏洞修复建议(以下建议并不代表完整的安全措施,您还可以根据具体情况采取其他安全措施来提高系统的安全性):
-
对验证码的有效期和使用次数进行严格限制。
-
使用HTTPS等安全通信协议,防止验证码在传输过程中被截获。
-
对验证码请求进行频率限制,防止短信轰炸攻击。
-
加强用户的安全意识,防止社工攻击。
-
对服务器和验证系统进行定期的安全审计和更新。
欢迎关注公众号“呼啦啦安全”,原创技术文章第一时间推送。
原文始发于微信公众号(呼啦啦安全):护卫你的第一道防线:登录框渗透测试(五)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论