今天,我将向您展示我在 Apple 的子域中使用点字符发现的开放重定向漏洞。
我没有发布此子域漏洞的权限,所以我将其称为“redacted”。首先,当我们访问 redacted.apple.com 子域时,这里有一个登录屏幕,登录非常简单。
正如您在图片中看到的,?path=参数设置为重定向到同一子域中的另一个页面,用于为首次登录的用户选择昵称。
在正确完成所有先决条件后,对于首次使用的用户,此过程可能会重定向到“/welcome?login=true”。
正如我所猜测的,重定向是在选择用户名并上传头像后重定向到指定页面。当然,我在这里主要尝试了一些有效负载,例如 https://evil.com & //evil.com 等。
实际上,这里让我感兴趣的是,在使用 //evil.com 有效负载后,响应是 /evil.com 和一个“/”字符。
如果您使用的是 ?path=//evil.com 之类的有效载荷,则预期会出现以下情况:redacted.apple.com//evil.com
但是,我得到的响应如下:redacted.apple.com/evil.com
在这种情况下,我认为最后附加的唯一 '/' 是由于我的有效负载,我想只输入 evil.com
我实际预期的行为是被重定向到一个不存在的 redacted.apple.comevil.com 域,但我却返回到“/welcome?login=true”。对于大多数参数,只需导航到子域中的 evil.com 就可以了。(?path=evil.com > x.apple.com/evil.com)
最后我想到了一个主意,而我以前从未在任何地方见过它。我纯粹是在理论上思考,很惊讶地发现在苹果公司这是可能的。
如果我们将负载设置为 .evil.com(即 ?path=.evil.com),“.” 字符将附加到 redacted.apple.com 的末尾,这使其成为 evil.com 的子域。
这是我们期望的结果。在 payload 前面加一个点字符意味着在某些情况下缺少“/”字符。这使得 redacted.apple.com 成为 evil.com 的子域。
原文始发于微信公众号(军机故阁):使用点字符绕过 Apple 的重定向限制
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论