在Apple.com上不受限制地上传文件

注意-这是关于乔纳森·鲍曼(Jonathan Bouman)如何找到在一个apple.com子域中使用的公共AWS S3 注释的琐碎翻译 。 另外,该注释还不错,因为它结合耐心展示了一些小型实用程序的好处。



喝咖啡并开始Aquatone 。 该实用程序可以使用开放源和给字典的暴力破解来检测给定域中的子域。



Aquatone有四个不同的团队:

  1. Aquatone-discover-搜索各种子域
  2. Aquatone-scan-扫描项目1的结果。 打开端口
  3. Aquatone-gather-创建每个子域的屏幕截图,将所有结果收集到html报告中
  4. Aquatone收购-尝试查找由外部主机托管的不活动子域。 找到一个? 注册并获得奖励!


报告Aquatone的输出
我们坐着,等待,梦想。

通常,搜索,扫描和收集需要花费几分钟。
那么Apple.com呢? 它花费了30分钟,84次报告,1.8万个唯一主机。

我们是第一个使用aquatone进行apple.com扫描的人吗? 绝对不是。 其他人看过全部84页吗? 绝对不是。

因此,请从第50页开始,仅阅读最后34页。

搜索模式异常

阅读报告50分钟后,会注意到一个模板。 其中之一是apple.com有时会使用AWS S3来存储其子域使用的文件。 因此,如果您可以访问S3之一,则可以提供对apple.com子域之一的访问。



读取所有84x报表很无聊。 所有报告均包含服务器发送的http标头。 S3-始终发送X-Amz-Bucket-Region标头。 在报告中搜索此标题:



现在,需要手动单击每个按钮,以查看打开URL会发生什么。 几乎所有子域都拒绝访问。



除了一个: live-promotions.apple.com


S3响应,包含存储桶名称和目录内容。

因此,现在有了名称S3 Bucket。 这使您可以直接连接到它。

如何访问, 请参见此处

您需要安装AWS的命令行界面,然后可以尝试使用上面答案中的名称打开此存储桶

之后,您可以尝试下载假登录页面并在浏览器中打开它。

aws s3 cp login.html s3://$bucketName --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers 


提醒厨师

结论
已获得对Apple S3存储桶的读取/写入的完全访问权限,该访问权限可在其子域之一上使用。 足以淹没网络钓鱼站点或窃取Cookie。

解决方案
永远不要授予匿名用户读/写权限
幸运的是,S3保护非常简单且已默认。
参见文档: docs.aws.amazon.com/AmazonS3/latest/dev/access-control-overview.html

那是什么

-在live-promotions.apple.com上上传的网络钓鱼页面
-您可以窃取访客Cookie
-可以从存储桶中提取机密文件(它包含xcode上的项目)

名人堂

4小时后,我收到了Apple的答复,确认该错误。 那天更正,现在在名人堂中提到

观众的来信+屏幕



时间表

2018年6月19日发现并报告错误
2018年6月19日Apple确认该错误
2018年6月19日Apple修复了该错误
2018/06/22苹果在名人堂提到我
2018年6月22日发布此博客

Source: https://habr.com/ru/post/zh-CN415003/


All Articles