完整的渗透测试实战纪实,低危漏洞组合成高危利用!

admin 2022年7月25日04:48:27安全文章评论12 views4271字阅读14分14秒阅读模式

高质量的安全文章,安全offer面试经验分享

尽在 # 掌控安全EDU #


PS:来自四期学员-任意门投稿。原谅下图重码,此漏洞还没修复

我任意门回来了!NightEye团队牛逼,详情请联系night团队负责人掌控安全逸辰哥哥

0x00 目标:某国内大厂招聘系统

0x01 验证码绕过漏洞

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
一步一步来,从忘记密码开始,这里的验证码可以绕过
我们可以输入用户名来批量爆破存在的用户

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

因为它这里的数据包是没有验证码的参数的,直接拿top 500姓名来跑

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

248 — 存在
272 — 不存在
367 —{“code”:{“code”:”0005”,”msgId”:”**“,”msg”:”该用户名/手机号/邮箱关联多个账号,请尝试使用其它方式登录,或联系管理员获得帮助”},”bo”:null,”other”:null}

先用已核实存在的账号试试看
zhangjian

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

直接出来了部分手机号。这里记一下

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
邮箱也出来了,然后我还是
通过忘记密码输入账号这一处,爆破出该账号对应的手机号

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

Zhangjian 手机号136**5670 

然后邮箱也是一样的爆破方法,就不再演示了
就这样就能把它大部分的注册用户的 信息爆破出来
因为是校招网站,所以用户名大多数都是直接姓名就行了。


这里的手机号是最关键的!!!
后期我来详细说明一下
然后我们来看一下 返回长度为 248的
用户名 为 wangfang

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
然后出来了部分邮箱和手机
176**
Wang**
@163.com
手机号还是那么爆破,邮箱wangfang*
去爆破那一位的字母就行了26位很好爆破,如下图所示

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
Wangfang**@163.com 手机号按照之前的流程就行
这样 我就可以把返回包长度是248 和 367 的手机号+邮箱+用户名全部爆破出来

以上就是忘记密码处的逻辑漏洞
通过对用户名的爆破出来了部分信息,再去通过部分打码手机号和邮箱爆破出来完整的手机号和邮箱

然后让我们回到登录界面,它这里登陆是没有验证码的
所以,我们就可以嘿嘿,爆它!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
PS 它这里输入用户名 ,如果关联多个账号返回包的信息
就会返回多个账号的手机号信息,我们又可以爆破一波嘿嘿

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
当然当然回归正题

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
直接拿姓名 + 姓名123456 先去跑一波
看返回长度是6开头的,返回包全是信息啊,手机号,我们就可以通过忘记密码那里拿到完整的手机号,或者登陆那里也行

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

不过先不要在意,有个7开头的让我们看看

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

休息中,岂不是查看不了!!!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
要获取验证码,,,,不过怕,我还有办法
这里登陆我测试的账号

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
蹬蹬,出来信息啦

让我来解释一下,怎么出来的信息

首先我们的返回包
{“code”:{“code”:”0003”,”msgId”:”ucs.status.dormant”,”msg”:”该账号休眠中”},”bo”:{“accountId”:”A0382861720879284224”,”userId”:”U0382861720879284224”,”userType”:”0”,”subjectId”:”S0382861720879284224”,”userName”:”*un”,”token”:”c5303F2732af4f389982681523383Bbc2079BF75214b48f1bA97ffb351Da915f”,”refreshToken”:”d84e92dfd2917f3dd3d23d9611087ffd”,”startVaildTime”:”2020-04-05 19:49:44”,”failureCycle”:3600},”other”:null}


这么多信息,不利用一下可惜了
我发现它里面判断用户的信息是token的值,这里登陆返回了token的值
所以我就可以,下图是我测试账号的包

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
是我点击用户设置这里抓的包
然后我们需要做一些替换
就是把 这个是用户的账号值,替换成如下这个
A0382861720879284224
然后把token也换了,变成如下图所示

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
就能成功读到信息啦。
这样我们就不用登录也行
信息全部读出来了,这是我爆破密码出来的结果,

然后它验证码这里也能爆破不过结果有限,
因为没限制错误次数,限制了时间
但是我也能试试
这里重点!!!,这就是说为什么我说手机号很重要了,
不过还是等一会再说
先爆破这里的
跟它赌!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
Zhanglei 的账号
然后发送到邮箱里,要动静小一点
为什么要说赌
因为它这里的限制是时间限制,而我们有限的时间顶多能爆破 800000-900000 也就是100000个验证码,
所以就是赌!,不断的去爆破
我的思路就是
定了一个区间,然后不断去爆破这个区间的比如说700000-800000 这个区间,不断的发送验证码
不断的去爆破这个区间的验证码

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
这里的包很方便,我们验证码只要对了,密码直接重置为 zkaq123456

惊喜来了!!!!!!!!!!!!!!!!
渗透果然需要运气,
看!!!我成功验证了我的想法,这个账号可不是我自己创建的哦。。。
定了区间我去跑成功跑出来了!,把密码重置成zkaq123456了

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
登录上去看看,成功!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
证明了我的攻击想法可行!
而且我们完全可以批量搞啊
因为我们开头那一步,可以批量获取存在的用户名
然后进入到如下图这一步。
发送验证码抓包,开始爆破。然后继续回去
输入其他用户名,抓包开始爆破

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
这样的不断循环,可以达到任意用户密码重置的效果
缺点就是有点麻烦,但是能对这个网站造成极大的危害!
因为你简历的部分信息泄露了 啊
验证想法,没敢太多线程,怕造成不利影响

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
只是验证我的攻击手法可行
可以看见我定的区间都是700000-800000
然后我们就可以发送验证码不用管了
有效时间是 10分钟

还有一处漏洞也比较严重
我给它取名为,无限 的 邮箱+手机 短信轰炸
没有错!因为这里我达不到一分钟炸它 15+
但是!我可以一直炸它留的联系方式,也就是邮箱+短信。可以炸 一天
下面让小弟来解释一下攻击流程
首先让我们输入一下账号

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
然后到达这一步,然后点击获取动态码
会显示如下图这样

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
已经发送了。然后我们刷新页面再进去
刷新页面回到这一步

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
再输入账号进去

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
这样就能再次发送短信验证码了
发个很多次,会出现如下图所示的情况

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
怎么办???
不不慌
手机号炸不了,还有邮箱啊
再次刷新页面重新进入
然后如下图所示
点击邮箱发送验证码,如下图成功发送,
然后让我们开始炸邮箱

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
当邮箱也出现下图这种情况
怎么办

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
不慌!!!!!!!!!!

哈哈哈哈哈,让我们再回来炸手机
轰炸成功,如下图所示
嘻嘻,这里就是形成了一个完美的闭合,限制就是服务器开小差
解决方法就是炸完手机,炸邮箱

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
攻击结果如下图所示,

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
这里的登录界面动态码也能配合我们,同样是刷新就会可以重新发送验证码了。

缺点就是一分钟只能5+次,然后服务器开小差但是优点是
我可以同时炸单个邮箱和手机,而且可以无限炸
上图就是证明,我的轰炸是有效果的,成功的发送了验证码
因为我觉得如果能无限发,让他一直收到验证码,效果不亚于短信轰炸,而且这一处也是漏洞
通过刷新绕过了短信验证码的限制

0x03本次渗透遇到的问题**

这次渗透,其实好多漏洞你会发现都是一些无关紧要的,比如打码手机号,获取验证码、还有一些存在的用户名,如果你去单纯提交这些漏洞很可能是低危或者被忽略,这怎么能行呢。

这时候你要去思考,如何变废为宝,网上大把的有低危xss结合漏洞然后变成高危的。其实逻辑也可以这么玩,用逻辑打组合拳危害更高哦。要学会把无关紧要的洞串联起来,所谓渗透测试的本质就是信息收集

如果当你拿到了人家的账号列表,或者手机号,那么这算不算就是一种信息呢,既然你把信息拿到了,为什么就不去深入一下呢,利用这些信息,接着去打。

有时候拿到的信息要学会整理,在这个测试之前,我拿到了这些信息之后,熟悉了这个系统的功能,然后我就去思考我利用手头的东西能做些什么,我可以利用它去获取那些能危害到用户的东西。一次完整的渗透测试,这一切都是必不可少的,尤其是挖src。

你想挖一些严重的洞,就要学会将手头的信息危害最大化,这样才能变废为宝

以上均上小菜鸡一些个人感悟,仅供参考哦!!!


0x04 总结一下

所有漏洞
漏洞一、登录界面可批量爆破统一密码
而且有6次机会,输入次数过多 就gg

完整的渗透测试实战纪实,低危漏洞组合成高危利用!
所以我通过,用户名 用户名+123456去爆破 ,去遍历用户名就不会被封
而且成功在top500爆破出一个有效账号,我还可以去换密码爆破,但是证明漏洞即可,就不深入了
(我还有个10w用户的密码字典没去爆破,点到为止)


漏洞二
在忘记密码那里,通过用户名,去获取所有有效 用户名的打码邮箱+手机号
然后根据忘记密码的功能,去获取完整的用户邮箱+手机号
我能批量拿到很多,但遵守规则点到为止
手机号能获取到很多有效的手机号

漏洞三
可以批量重置用户的密码,这里说明一下为了证明我的攻击想法有效,所以才重置了一个用户
这里是它的验证码只有时间限制,没有错误次数限制,所以我通过爆破一个固定区间的验证码,成功重置了一个用户的密码。
因为光提出假设,是不会过审的,唯有实践出来结果才行。
然后我可以批量重置密码,就是批量去跑账号,但是点到为止叭,毕竟改密码不是啥小事情

漏洞四
通过刷新,绕过发送验证码的限制,并且达到对用户的邮箱+手机无限发送验证码的攻击。然后结合漏洞三 获取很多手机号,就可以达到大规模骚扰的地步


漏洞五

然后这里有个洞还可以结合一下
最终能达到任意用户密码重置

因为我是可以批量发送验证码给用户
然后只要这个区间没有,接着发,发到有为止,10分钟一次。跑个几次总有验证码到达我们这个区间的。

具体就不实践了,上图我已经验证了这个方法的可行性。
因为我们可以批量发送验证码,我可以给用户的邮箱+手机一直发,然后我的验证码又可以一直爆。
所以发送一个等10分钟,没结果再发,或许我们可以缩短区间,因为它验证码是随机的嘛,等5分,没有就接着发,一直发到成功爆破改掉密码为止。

上图的爆破验证码的截图+加一直发送验证码的截图 能证明我这个攻击的可行性

希望重视!,因为这样的话,如果给我授权,我能把手头上有效的用户,全部密码重置了。很简单,跑验证码就完事了,反正可以批量。

(然后泄露用户的邮箱+手机号)
毕竟是招聘网站,用户的身份信息理应保护好,对吧。





回顾往期内容

面试经验分享 — 安恒、安垚、端御#附面试题、心得

新时代的渗透思路!微服务下的信息搜集

反杀黑客 — 还敢连shell吗?蚁剑RCE第二回合~

防溯源防水表—APT渗透攻击红队行动保障

实战纪实 | 从编辑器漏洞到拿下域控300台权限

完整的渗透测试实战纪实,低危漏洞组合成高危利用!


 扫码加助教老师

可领取免费安全教程

完整的渗透测试实战纪实,低危漏洞组合成高危利用!


 还有免费的配套靶场交流群哦!



                           点击在看~好文推荐大家一起看!👇

原文始发于微信公众号(掌控安全EDU):完整的渗透测试实战纪实,低危漏洞组合成高危利用!

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月25日04:48:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  完整的渗透测试实战纪实,低危漏洞组合成高危利用! http://cn-sec.com/archives/946450.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: