利用IDOR漏洞实现大规模用户接管

admin 2024年8月10日12:36:18评论14 views字数 1334阅读4分26秒阅读模式

扫码领资料

获网安教程

利用IDOR漏洞实现大规模用户接管

利用IDOR漏洞实现大规模用户接管

前言

在此,笔者将展示一个有趣的漏洞挖掘过程,我能够接管应用程序的任何用户帐户,甚至是管理员/员工帐户。

正文

笔者将目标网站称为redacted.com,现在该网站使用电话号码供用户登录,经过观察,我发现有些电话号码如9999999999、8888888888、7777777777 …………1111111111 等,不需要实际身份验证,我可以使用其他 OTP 号码登录(如我的号码),它们却需要身份验证。

注:OTP (One Time Password,简称OTP),一次性口令,例如登录某些网站时需要输入手机验证码,这个验证码也可以理解为OTP的一种。

利用IDOR漏洞实现大规模用户接管

但为何上述电话号码没有经过实际认证呢?

其背后的原因是,在部署到实际生产环境之前,开发人员有时会使用一些默认电话号码,如 999999999、8888888888……立即访问应用程序并测试内部功能,而无需任何实际身份验证,在这种情况下,不需要正确的 OTP 来访问应用程序。

现在,每当将应用程序部署到生产环境时,开发人员就有责任禁用此功能(删除系统内部默认账号、测试账号等),因为这些帐户仍然包含一些开发人员或员工信息,如地址、电子邮件、银行详细信息和更多元信息。

但有时开发人员忘记更改功能,外部人员可以登录这些默认电话号码。

现在,我想报告这个问题,但我此时还没有报告,我想如果我使用此功能进入其他用户的帐户会怎样。

继续漏洞挖掘,扩展战果

现在我开始通过burp分析请求和响应、它们的参数和令牌。

其中注册功能的 POST 请求如下图所示,

利用IDOR漏洞实现大规模用户接管

现在您可以观察到有很多参数,其中传递了给定的电话号码,并且可以尝试测试上面提到的电话号码的任何 OTP 值。

现在,我测试了所有三个参数mobileNo、uid 和 socialMediaId,将它们替换为其他用户的电话号码,然后分析响应包。

最终发现uid参数存在漏洞,下图是我如何查看用户信息然后登录其帐户的示例:

利用IDOR漏洞实现大规模用户接管

通过响应包中的JSON 参数 isExistingUserLogin Successful可以确认对方帐户的是否存在以及进行接管,如此我就可以通过知道他们的电话号码登录任何帐户,

Tips: 您可以通过侦察(如谷歌、GitHub dorks(github语法)、LinkedIn、联系页面)获取大量电话号码,然后测试漏洞。

由于注册端点没有速率限制,因此影响更大:

由于没有速率限制,我甚至可以爆破电话号码并通过响应 JSON 参数  isExistingUser = true(确认现有用户是否存在) 过滤结果,这样我就可以接管该网站上的 任何普通用户/员工/管理员帐户。

最后我向相关组织提交了该漏洞,并收到了漏洞赏金 利用IDOR漏洞实现大规模用户接管

以上内容由白帽子左一翻译并整理。原文:

以上内容由白帽子左一翻译并整理。原文:https://infosecwriteups.com/massive-users-account-takeovers-chaining-vulnerabilities-to-idor-ea4e1b6407d2

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):利用IDOR漏洞实现大规模用户接管

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月10日12:36:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   利用IDOR漏洞实现大规模用户接管http://cn-sec.com/archives/3049401.html

发表评论

匿名网友 填写信息