前言
之前有个好心的白帽子有发了一个邮件过来,说我们有一个 aws s3 的桶有索引泄露的安全缺陷,让我们赶紧处理一下。
吓的我赶紧试了一下,按照他的 POC 截图来操作,结果还真是泄露了索引:1
2
3
4
5$ aws s3 ls s3://someCdnBucket
2015-08-15 11:01:02 276216 xxx.js
2015-09-01 20:26:19 101945 xxx2.js
2017-03-10 09:15:02 31751 xxx.css
...
确实可以通过 s3 的 cli2 的命令行工具,然后随便注册一个私人的 aws 账号,就可以通过 aws s3 ls s3://{bucketName}
来得到我这个项目的 bucket 里面的所有的文件索引了。
这个确实很严重, 因为如果知道了文件索引, 意味着这个公开桶的所有资源都可以被下载下来, 不幸中的万幸就是, 这个 bucket 是一个作为静态 CDN 源的公开桶, 只需要知道文件的 url 就可以访问, 里面的文件并没有用户的隐私数据。
而且这个 researcher 还表示了一个担忧, 既然我可以下载这些文件, 那么我可以上传或者从这个 bucket 删除文件吗?? 带着他这个疑问, 我这边也开始了排查。