漏洞挖掘|一次某站点的任意用户密码更改漏洞

admin 2024年1月26日09:29:07评论12 views字数 981阅读3分16秒阅读模式

漏洞挖掘|一次某站点的任意用户密码更改漏洞

前言叙述

  现在的洞越来越难挖了,近些年的大佬们纷纷登场,安全防护也在不断提升,作为一个不"专业"的人,实在头疼不已,最近实在无力加上很多现实中事忙活,突然不知道咋挖了,只能水一次技术了

* 本文涉及到相关漏洞已报送厂商并修复,本文仅限技术讨论和研究,严禁用于非法用途,否则产生后果自行承担

漏洞复现

  非常神奇的在用户找回密码界面,输入手机号的时候,会调用js查询用户是否存在,当然这里可以用抓包去跑一下用户枚举,但是太麻烦了,直接用google搜索一下是不是有手机号相关的内容

漏洞挖掘|一次某站点的任意用户密码更改漏洞

漏洞挖掘|一次某站点的任意用户密码更改漏洞

site:xxx.com 手机号

很幸运的拿到了一个用户留言的页面,用户名默认是手机号,就选择一个幸运er

漏洞挖掘|一次某站点的任意用户密码更改漏洞

在校对手机号存在后,可以发送验证码,在第一次提交的时候会进行验证码校验,此时第一次校验只有五次机会

漏洞挖掘|一次某站点的任意用户密码更改漏洞

此时第一想法就是对状态码进行修改,在获取到正确的状态码后,修改,欺骗绕过了进入到修改密码页面

漏洞挖掘|一次某站点的任意用户密码更改漏洞

奈何没料到还有二次验证码校验,在输入验证码下一步后,会二次核对验证码,这里有个逻辑问题:

当第一次验证码校验失败后,可以得到失败状态码,但是想撞正确验证码基本不可行,因为只有五次机会
第二次验证码校验没有限制次数,但是二次验证是在通过了一次验证后跳转到修改密码页面,当二次验证码不正确时,修改密码会跳转到error.html

这里想去爆破二次验证的验证码,拿到响应包内的字节长度,结果都是正确跳转到修改密码页面的字节长度

漏洞挖掘|一次某站点的任意用户密码更改漏洞

当一次验证码正确,二次验证码错误时,才能爆破二次验证码

内心OS:我知道验证码还问你干啥

后来,想到了之前看过的一个文章方法,可以使用一些符号去间隔手机号,从而达到获取相同验证码的目的

A:受害者手机号,未知验证码B:本地手机号在发送验证码之前,使用符号间隔,将会发送给两个手机号同样验证码

漏洞挖掘|一次某站点的任意用户密码更改漏洞

瞎猫碰上死耗子,还真的拿到了两个同样的验证码

漏洞挖掘|一次某站点的任意用户密码更改漏洞

直接使用方法,A+B获取到验证码,然后每个包内相同的payload手机号,梭到密码修改成功

漏洞挖掘|一次某站点的任意用户密码更改漏洞

总结

漏洞存在原因:在检验发送验证码没有对手机号进行检验,从而将两个手机号提交到SMS网关,并发送验证码,挺搞不懂最后的修改密码的语句,A+B方法获取到验证码后,在修改密码的时候必须也是A+B手机号,不能是单个手机号,不然也是跳转到error.html页面,希望下次洞神助我拿个RCE漏洞!

原文始发于微信公众号(迪哥讲事):漏洞挖掘|一次某站点的任意用户密码更改漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月26日09:29:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞挖掘|一次某站点的任意用户密码更改漏洞http://cn-sec.com/archives/2432437.html

发表评论

匿名网友 填写信息