前言
本文主要介绍的是通过三个bug来导致的一个账户劫持漏洞
正文
第一个bug是关于“密码更改”功能:
URL是这样的:GET /api/v2/customers/change-Password /“6_digits_id”
。这个id很容易被暴力破解,因为只有最后4个数字是可变的,而id的变化是增量的
我们可以用这个IDOR更改其他用户的密码,只需将ID更改为6个随机数字,但有两个问题:第一,认证过程需要邮箱和密码,所以即使我们更改密码,我们也不知道受害者的邮箱,他可以很容易地重置密码。第二种:我们不知道“旧”密码,因此无法更改它。
第二个bug:
如上所说,为了更改密码,我们需要旧密码和新密码,发现这个“更改密码”请求没有限制。所以你可以发送尽可能多的请求,你不会被禁止。
第三个bug:
发现了第二个IDOR,泄露了其他用户的PII,包括他的电子邮件,URL是:GET /api/orderbox/v2/reseller/customers/“6_digits_id”
它与第一个IDOR中的id相同。所以只要将id更改为随机id,就可以拥有包括邮件在内的一些客户信息!
梳理一下过程:
利用第三个漏洞,能拿到受害者的邮箱,使用第一个漏洞,可以更改同一受害者的密码,因为有相同的id。
为了绕过“旧”密码问题,我们将使用第二个bug(更改密码没有速率限制)进行暴力破解将旧密码暴力破解出来
原文始发于微信公众号(迪哥讲事):三个漏洞所导致的一个账户劫持
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论