10分钟发现BAC漏洞,所有用户资料遭泄露

作者在测试目标网站时发现API端点存在IDOR漏洞,通过简单修改请求路径即可获取所有注册用户的敏感信息,包括姓名、用户名和邮箱等个人数据,严重违反GDPR等隐私法规。

10分钟发现BAC漏洞 $$$ 暴露所有用户资料

大家好,我是Mufiz,一名漏洞猎人、红队成员和Btech学生。如果想了解更多关于我和我的文章,请访问我的LinkedIn:www.linkedin.com/in/mufij-topinkatti-610457241 谢谢。

开始探索……

一天,我懒散地躺在床上寻找目标程序,因为我主要专注于自托管目标的漏洞挖掘。大多数时间我花在学习上,而不是探索目标。昨晚我偶然发现了一个目标,它本身就是一个漏洞赏金计划。我开始探索功能进行测试,但我的首要动机是寻找IDOR(不安全的直接对象引用)漏洞,于是旅程开始了,嘿嘿嘿……

假设目标是[Redacted.com]。我启动Burp Suite并开始探索其功能:编辑个人资料、电话号码、Gmail等详细信息。然后我检查API请求,因为API是IDOR的金矿,于是我找到了一个请求……

1
2
GET /api/users/current HTTP/2
Host: redacted.com

响应:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[
  {
    "id": "679a5e47-e704-4d16-8293-09d5de.....",
    "first_name": "myname",
    "last_name": "lastname",
    "username": "sfswwrfbr",
    "gmail" : " ......."
  },
  ...
]

从这个请求中,它返回了我的数据。我只是想,在这个请求api/users/current中,为什么使用“current”?如果我删除它会怎样?我会获得所有用户的访问权限吗?我的邪恶思维被触发,我修改了请求并发送……

1
2
GET /api/users HTTP/2
Host: redacted.com

然后……砰……砰……砰……获得了所有注册用户的PII(个人身份信息)。

影响

任何经过身份验证的用户都可以枚举和访问所有其他用户的数据,这构成了严重的隐私和安全风险。这种暴露可能导致:

  • 用户枚举
  • 定向钓鱼或冒充攻击
  • 数据抓取和滥用

此外,这很可能违反了GDPR和CCPA等数据隐私法规。

建议修复措施

  • 为/api/users端点实施严格的基于角色的访问控制(RBAC)。
  • 仅将用户列表的访问权限限制为管理或授权角色。
  • 在API控制器层和业务逻辑层应用权限检查。

所以,我没有浪费时间,报告了这个问题,并期待他们的回应和解决。

提示:确保在狩猎时记住

  1. 使用多个账户测试经过身份验证的API
    在URL或请求体中交换用户ID,并观察服务器的响应。

  2. 探索“列出所有”端点
    像/api/users、/api/orders或/api/projects这样的API可能会返回完整的数据集,而没有按用户过滤。
    问:“这个用户真的应该看到所有这些数据吗?”

  3. 不要只关注GET——尝试POST、PUT、DELETE
    IDOR不仅仅是读取数据——它还可以让你编辑或删除数据。
    例如:如果你可以以另一个用户的身份PUT /api/users/123,那是一个严重的漏洞。

请在评论中告诉我你想要哪种类型的漏洞,我会尝试为你制作。

联系

在Medium上关注以获取更多更新,直到那时……再见。

#IDOR #信息安全 #红队 #漏洞赏金 #漏洞赏金报告

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计