什么是 IDOR?
原文链接:https://medium.com/@swapmaurya20/a-simple-idor-to-account-takeover-88b8a1d2ec24
IDOR 指的是不安全的直接对象引用,这意味着您可以访问您无权访问的内容。从技术上讲,这是个越权漏洞,当应用程序使用了用户提供的输入,直接访问对象资源而不进行任何验证检查,以查看请求是否来自其正常用户时,就会发生访问控制问题。IDOR 可以进一步与水平越权和垂直越权相关。
假设目标为example.com。最初我在主域上找不到任何问题,后来在收到 3 个重复项后放弃了,因为它是一个已有 3 年历史的私人项目,并且我在 2019 年 10 月左右收到了测试邀请。
后来在 2020 年新年,带着新鲜的感觉,我开始盲目地开始使用各种方法在同一应用程序上搜索漏洞,我浏览了项目范围发现几个子域引起我的注意,我认为这是一个突破口。
在两个小时内,我发现了 4 个漏洞,帐户接管就是其中之一。让我们看看发现它的方法是怎样的,所以首先我测试了登录页面、注册页面和忘记密码页面。在测试忘记密码时,我发现当用户将密码更改为新密码时,请求正文中会出现电子邮件参数以及新密码和确认新密码参数,所以我想为什么不将电子邮件更改为其他人的电子邮件 ID,最后当我做了同样的事情时,它给了我对更改后的电子邮件帐户的完整帐户访问权限。
替换请求包中邮箱地址
原始请求:-
POST /login/internalResetPasswordSubmit?Toketoken=random_char&m=1234&nid=random_char HTTP/1.1
Host: subdomain.example.com
Cookie: all_required_cookies
{"email":"attacker_account@test.com","password":"new_passwd","confirmPassword":"new_passwd"}
编辑请求:-
POST /login/internalResetPasswordSubmit?Toketoken=random_char&m=1234&nid=random_char HTTP/1.1
Host: subdomain.example.com
Cookie: all_required_cookies
{"email":"victim_account@test.com","password":"new_passwd","confirmPassword":"new_passwd"}
因此,在 Burp 中转发编辑后的请求后,受害者帐户的密码将被更改,并且它会直接将您登录到浏览器中的受害者帐户。
可以通过更改管理员帐户密码来增加影响,从而获得对管理员帐户的完全访问权限。
我于 1 月 28 日上午 12:30(美国标准时间)报告了此事。
漏洞验证
早上收到漏洞赏金平台的回复说无法复制并要求我接管他们创建的测试帐户。所以我想尽快回复他们,但是当我收到对我的报告的评论时,我正在上大学,所以我决定在我们的大学实验室中重现这个问题,为此,我设法在我们的实验室的大学计算机上设置了工具和环境,,当一切准备就绪后,我终于复制了相同的内容,并更改了 Bugcrowd 团队创建的测试帐户的密码,并使用我的用户名编辑了个人资料以进行概念证明,并发送了报告。
5 分钟内,报告得到分类,优先级设置为 P1
第二天,公司为我提交的内容分配了赏金,这可以在上面的截图中看到。
原文链接:https://medium.com/@swapmaurya20/a-simple-idor-to-account-takeover-88b8a1d2ec24