这篇文章是关于我最喜欢的漏洞类型之一,即帐户接管。我能够在 bugcrowd 私有程序中执行帐户接管,这可以完全接管用户帐户。
漏洞类别:
描述
账户接管是一种在线身份盗窃形式,网络犯罪分子非法获得他人账户的未经授权访问权限。受害者的账户对黑客来说很有价值,因为它要么持有资金,要么可以访问产品、服务或其他某种存储价值(例如可出售的私人信息)。这是一种有趣的漏洞类型,因为黑客/攻击者会利用它作为访问与任何组织绑定的用户账户的手段。
影响
一旦成功接管账户,攻击者便可访问关联的用户 PII 或已保存的信用卡信息。如果管理员特权用户也能接管账户,那么问题就更大了。
应用程序的登录流程
在进行初步侦察和应用程序演练时,我注意到该应用程序使用 OTP 登录进行身份验证。可以发送到链接的电子邮件/手机号码的 OTP 被用作身份验证的唯一来源。
OTP工作流程
分析登录流程
这里使用的 OTP 是一个 4 位数字,我们需要访问用户的电子邮件帐户才能获取 OTP。我最初的想法是检查登录请求的响应,看看 OTP 是否在任何地方泄露。但运气不佳。我接下来对 OTP 进行了暴力破解,但该应用程序设置了适当的速率限制,因此它阻止了我连续错误地尝试 OTP。
但有趣的是,我注意到,如果我从不同的 IP 发送测试 OTP,应用程序不会阻止我连续尝试错误。这使我能够执行 IP 轮换以绕过当前的保护措施。
IP 轮换是将分配的 IP 地址随机或按照预定的间隔分发给设备的过程。
通过进行 IP 轮换,我能够强行破解 OTP 以获取正确的 OTP 并成功登录到任何用户帐户,从而让我能够完全访问该帐户。
概念验证
为了利用此漏洞,我们需要设置一个环境,对每个发送的请求使用 IP 轮换。
我使用 AWS、Burpsuite 和IpRotate插件来设置它。
设置IpRotate插件后,我们可以使用不同的 IP 地址发送每个请求。
IpRotate使用:https://youtu.be/CUarfKYdxpo
利用此漏洞,攻击者可以在不到几分钟的时间内访问任何用户帐户,最终该漏洞被标为P1等级
以上内容由白帽子左一翻译并整理。原文:https://medium.com/@vishnu0002/how-i-managed-to-hack-into-a-billion-dollar-sport-platform-7cc667081229
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):通过插件绕过限制挖掘P1等级账户接管漏洞
评论