护卫你的第一道防线:登录框渗透测试(五)

admin 2024年2月14日23:43:34评论8 views字数 3016阅读10分3秒阅读模式

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。

问题

   ———————

在当前信息安全日益重要的时代,我们的隐私和数据受到了前所未有的关注。尽管短信验证功能被广泛应用于登录界面,提高了账户安全性,但你是否知道,这种看似安全的功能也可能暴露出一些潜在的漏洞?接下来,我们将探讨短信验证功能可能存在的问题,以及如何确保您的信息安全。

关键点

  ———————

在本次的文章中,我们书接公众号上面几篇的文章,继续对于登录界面的渗透,本次我们讲述的方向为短信验证码

0x1 为什么用于安全验证的短信验证码还存在漏洞?

虽然短信验证码被广泛应用于身份验证,以提升安全性,但它仍然存在可能的漏洞,主要原因如下:

  1. 传输过程中的风险:短信在传输过程中可能被截取。黑客可能通过侦听或者中间人攻击来截获短信验证码。

  2. 社交工程:黑客可能利用社交工程的手段,例如假装是客服人员,诱导用户透露验证码。

  3. SIM卡欺诈:如果黑客能够欺诈运营商,并且获取到用户的SIM卡信息,他们就能接收到短信验证码。

  4. 系统漏洞:如果验证系统设计不当,黑客可能通过猜测或利用系统漏洞,比如重放攻击,越权攻击等绕过验证码步骤。

  5. 短信轰炸客可能通过大量请求验证码,消耗公司正常使用的短信资源并且可能使得正常用户无法接收到验证码。

在这篇文章中,我们主要着重于我们能够实战发现漏洞的几个方向,分别是传输过程中的风险系统漏洞短信轰炸这三个方向

护卫你的第一道防线:登录框渗透测试(五)

0x2 通用检测方法

依照惯例,我们应该在这介绍一下咱们下来可能需要哪些工具,但是在短信验证码测试这方面我们只需要一个基础工具就可以:

Burp Suite(在网安的道路上绝对绕不过的工具 ,yyds)

1.传输过程中的风险检测

在登录界面输入要发送验证码短信的手机号码或者邮箱后,我们使用BurpSuite拦截数据包,查看验证码是否可以在浏览器交互的数据包中直接获得

2.1 系统漏洞检测->验证码客户端绕过

在过去,确实有类似的漏洞存在,用户可以通过发送任意验证码或更改返回包中的相关值来绕过验证码。然而,随着时间的推移,这种漏洞已经被广大互联网企业所关注和修复,因此大部分大厂应该已经消除了这种漏洞,但是现在在项目中还是有时会遇到

2.2 系统漏洞检测->手机号或邮箱没有和验证码没有绑定

在一些情况下,如果验证码没有和手机号进行绑定,攻击者可以通过篡改手机号来接收他人的验证码,然后进行一系列高危操作,如登录账号、更改密码等

2.3 系统漏洞检测->双写参数绕过验证码

如果厂商没有对验证码功能进行很好的安全限制,那么当我们双写手机号时,他可能会把验证码同时发送给两个手机号,这样我们就能获得别人的验证码了

2.4 系统漏洞检测->验证码爆破

如果厂商没有对验证码功能进行限制,并且验证码为4位时,那么我们可以直接通过Burpsuite的爆破模块直接对验证码的值进行爆破

2.5 系统漏洞检测->验证码随机或为空

如果厂商没有对验证码功能进行测试,可能会出现随意输入验证码或者验证码为的情况下依然会验证成功

3.短信轰炸检测

在网站没有对短信验证功能设计安全的限制时,攻击者可以使用短信接口无限制的发包,可以达到消耗目标网站的短信数量以及对手机号码拥有者造成短信轰炸的效果,其实大厂们也很注重此类漏洞,我们点击任何一个大厂的src漏洞接收规则文档时都会有短信轰炸这个漏洞

那么下面就是一些遇到安全机制绕过的小tip:
1.并发绕过:通过BurpSuite的插件Turbo Intruder对数据包进行并发处理绕过
2.修改参数数据绕过:我们通过在手机号数据前+0或空格以及逗号等符号
3.叠加参数绕过:比如数据格式为mobile= XXXXXX,那么我们通过叠加参数可能会绕过限制mobile= XXXXXX&mobile= XXXXXX
4.修改返回包绕过:修改返回数据包,将返回的错误数据包修改为正确的可能会绕过短信机制的检测继续发送短信
5.修改IP绕过:在数据包中可能有XFF数据,将数据修改为其他的可能会绕过短信机制的检测继续发送短信
6.修改Cookie绕过:有些网站是根据Cookie的数据来限制当前用户的发送短信的次数,所以有时修改Cookie的数据可能会绕过短信机制的检测继续发送短信

 案例结合

 ——————————————

在上面对于此类漏洞介绍以及方法总结之后,我们下来结合一个个的案例进行分析,加深理解

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 短信轰炸检测->修改数据绕过

我们直接在参数中加入空格绕过限制,也可以加入其他的比如"0"或者","之类的符号

护卫你的第一道防线:登录框渗透测试(五)

0x3.3 短信轰炸检测->叠加参数绕过

我们直接在参数中叠加参数提交

护卫你的第一道防线:登录框渗透测试(五)

0x3.4 短信轰炸检测->修改返回包绕过

我们直接修改返回包,将错误的修改为正确的发送

护卫你的第一道防线:登录框渗透测试(五)护卫你的第一道防线:登录框渗透测试(五)

0x3.5 短信轰炸检测->修改IP绕过

我们直接修改数据包中的XFF的值

护卫你的第一道防线:登录框渗透测试(五)

0x3.6 短信轰炸检测->修改Cookie绕过

这个根据具体情况,可以直接删除Cookie的值,或者修改Cookie中关于用户身份的那一部分数据来进行绕过

0x4 Last

最后,在这篇文章中我们详细的介绍了短信验证码可能存在的漏洞,其中包括了一些遇到安全机制时可能绕过的方法,希望大家点一下公众号的关注,期待我们下来的本系列的文章和其他系列。

漏洞修复建议(以下建议并不代表完整的安全措施,您还可以根据具体情况采取其他安全措施来提高系统的安全性):

  1. 对验证码的有效期和使用次数进行严格限制。

  2. 使用HTTPS等安全通信协议,防止验证码在传输过程中被截获。

  3. 对验证码请求进行频率限制,防止短信轰炸攻击。

  4. 加强用户的安全意识,防止社工攻击。

  5. 对服务器和验证系统进行定期的安全审计和更新。

欢迎关注公众号“呼啦啦安全”,原创技术文章第一时间推送。

护卫你的第一道防线:登录框渗透测试(五)

原文始发于微信公众号(呼啦啦安全):护卫你的第一道防线:登录框渗透测试(五)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月14日23:43:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   护卫你的第一道防线:登录框渗透测试(五)http://cn-sec.com/archives/2198362.html

发表评论

匿名网友 填写信息