实战|某src有趣的任意密码重置

admin 2023年3月14日18:43:05评论19 views字数 1366阅读4分33秒阅读模式
文章转自 戟星安全实验室
侵权请联系删除
实战|某src有趣的任意密码重置

0x00 前言




针对某src进行挖掘时,经过前期的信息收集,发现某个管理系统,以及已知账号123。

针对该系统,最开始是看前端结构是真的没有想到会出个任意重置,所以这里记录一下。


实战|某src有趣的任意密码重置

0x01 页面处理逻辑




首先来看一下系统登录的处理页面


实战|某src有趣的任意密码重置


通过前端页面不难发现,进入系统需要对应账号密码以及短信验证码;

看到有一个注册页面,尝试注册账号,可惜需要审核。


实战|某src有趣的任意密码重置


不能注册,那看看忘记密码的逻辑


实战|某src有趣的任意密码重置


不仅需要账号,还需要手机号,我们输入任意账号,返回账号不存在。


实战|某src有趣的任意密码重置


当前的思路当然是用字典枚举一下,可是有一个问题就是,我输入存在的账号也返回账号不存在。


实战|某src有趣的任意密码重置


然后账号还有密码复杂度要求,而且10位。


实战|某src有趣的任意密码重置


实战|某src有趣的任意密码重置

0x02 绕过尝试




还有就是常用的,修改返回包然后输入对应账号进行抓包测试,修改返回包后显示当前用户已登录,此时是心头一喜,感觉进去了。


实战|某src有趣的任意密码重置


然而现实是残酷的,点击强制登录,会发现再次校验了用户名和密码,然而拦截对应返回包不再是校验,而是html了,无法控制返回包。


实战|某src有趣的任意密码重置


结果就是用户或密码错误。


实战|某src有趣的任意密码重置


然后总结一下:

当前系统的验证码可以绕过,但是密码不行;联想到的就是,只要我们知道某个账号的密码或者能实现任意重置,我们就可以登录系统。

这个找到一个可以用的账号密码还是比较难,找到一个账号已经不容易了。

那我们尝试密码重置,毕竟验证码可以绕过。


实战|某src有趣的任意密码重置

0x03 密码重置




输入我们已知账号然后再输入一个任意手机号,任意验证码以及符号要求的密码,点击提交抓包。

实战|某src有趣的任意密码重置


拦截对应返回包,会进行多次校验第一个返回包是no-user,由于我们猜测存在该用户,再结合注册时相关成功结果的返回包,我们修改返回结果为1。


实战|某src有趣的任意密码重置


之后遇到第二个数据包校验,增加了一个手机号。


实战|某src有趣的任意密码重置


同样拦截返回包,修改其结果为1。


实战|某src有趣的任意密码重置


然后第三个数据包,我们看到带上了用户名,手机号,验证码以及密码;注意,这是第一次带上验证码,应该就是对验证码的校验。同样拦截返回包,进行查看分析。


实战|某src有趣的任意密码重置


果然返回包的结果为0,应该就是验证码校验了,修改0为1。


实战|某src有趣的任意密码重置


然后就是第四个数据包,post请求,带上了所有相关数据信息,不管这个是什么的校验,拦截返回包分析一下。


实战|某src有趣的任意密码重置


发现是一个success的跳转,对应下一个包是一个success的连接。


实战|某src有趣的任意密码重置


然后前端返回成功的提示,并跳转到登录界面。


实战|某src有趣的任意密码重置


到此,我们可能已经完成对账号123的密码重置,但没有登录验证,具体结果不得而知,也行我们被前端欺骗了也说不定。


实战|某src有趣的任意密码重置

0x04 登录验证




然后验证输入账号密码,任意验证码抓包,拦截第二个包,也就是验证码的返回包,修改返回的0为1。


实战|某src有趣的任意密码重置


之后又出现了一个包,传递数据是账号;这个一样的拦截他。


实战|某src有趣的任意密码重置


之后看到返回包不是1,而是6;那我们修改返回包结果为1;这个包具体什么含义不清楚,返回修改为1就行了。

之后又到了强制登录页面,这次点击登录一样的出现一个用户名密码的包。


实战|某src有趣的任意密码重置


由于账号密码登录的返回包是html,不用分析了。直接放通,幸运的是密码重置成功,然后成功进入系统后台。


实战|某src有趣的任意密码重置


实战|某src有趣的任意密码重置

0x05 概述




实战|某src有趣的任意密码重置

讲真,还是第一次挖到这种类型的重置,总的来说存在两个逻辑漏洞造成该系统的任意密码重置:

一个是短信验证码的绕过;

一个是手机号与账号的绑定。

本来根据前端页面的结构来说,想要登录系统或者重置密码是比较艰难的。但是这两个逻辑错误的结合就直接导致了任意密码重置的出现。

原文始发于微信公众号(菜鸟学信安):实战|某src有趣的任意密码重置

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月14日18:43:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战|某src有趣的任意密码重置https://cn-sec.com/archives/1604122.html

发表评论

匿名网友 填写信息