不同的厂商对对象存储有不同的名称,但从功能用户的角度来看,它们实际上是一回事。
阿里云:OSS 腾讯云:COS 华为云:OBS
谷歌云:GCS 云:Blob 亚马逊云:S3
由于阿里云可以免费试用OSS3个月,下面以阿里云OSS存储为例进行说明。
1、环境建设
在阿里云上开启OSS后,阿里云可以免费试用OSS 一段时间
开通OSS后,OSS控制台会显示在左上角的导航栏中
然后你可以创建
二、基本理念
在此之前,我们简单介绍一下OSS存储的几个概念
存储空间
首先,我想向您介绍一下,它是用户用来管理存储的存储空间的。每个用户可以有多个用户。该名称在OSS范围内必须是全局唯一的,创建后不能修改。室内设计的数量没有限制。用户可以简单地将其视为本地计算机上的一个文件夹。
对象
对象是存储在OSS中的基本数据单位,也称为OSS文件。与传统文件系统不同,对象没有文件目录的层次结构。对象由元信息(meta)、用户数据(Data)和文件名(key)组成,并由存储空间中的唯一键标识。对象元信息是一组键值对,表示对象的一些属性,比如上次修改的时间、大小等信息,也可以在元信息中存储一些自定义信息。对象的生命周期是从成功上传到删除。在整个生命周期中,其他方式上传的内容无法编辑,但通过追加上传的内容除外,通过继续追加写入数据。用户可以简单地将其理解为文件夹中的文件。
(地理)。
表示OSS数据中心的物理位置。您可以根据请求的成本和来源选择适当的区域。通常,当您离用户更近时,访问速度会更快。它是在创建时指定的,一旦指定,就无法更改。它们都存储在对应的数据中心,目前不支持级别设置。
(访问域)。
OSS外部服务的域名。OSS以HTTP API的形式提供服务,不同的访问需要不同的域名。通过 和 访问相同的要求也不同。例如,杭州的外部网络是,内部网络是。
(访问密钥)。
缩写为AK,它指的是ID和。OSS使用ID和对称加密来验证请求发送者的身份。ID 用于标识用户;用户用于加密签名字符串的密钥和用于验证签名字符串的OSS密钥,必须保密。
以下有三种类型:
3. 常见风险点
3.1 访问权限不当
space() 是存储 () 的容器。对象属于存储空间,存储空间有三种类型的访问权限 (ACL)
访问权限
描述
:
访问值
私人
存储桶的所有者和授权用户对存储桶中的文件具有读写权限,但其他用户没有操作存储桶中文件的权限。
::OSS::ACL::
公共阅读
存储桶的所有者和授权用户对存储桶中的文件具有读写权限,其他用户对存储桶中的文件具有读取权限。请谨慎使用此权限。
::OSS::ACL::
公共读写
所有用户都具有存储桶中文件的读写权限。请谨慎使用此权限。
::OSS::ACL::
如果上传文件()时未指定文件的ACL,则默认由文件的ACL继承ACL。因此,申请开放源码软件一般禁止申请公共阅读和写作。公共读写意味着 上的任何用户都可以访问它并向其写入数据。如果恶意编写非法信息,这可能会导致数据泄露、成本飙升和公司商誉受损。
为了加快文件访问速度,可以配置OSS私有回源访问。但需要注意的是,开启OSS私有回源授权后,CDN有权授予所有只读权限,而不仅仅是当前权限。
示例演示:
创建专用
单击您刚刚创建的文件以上传文件进行测试
选择“扫描文件”以上传文件
设置文件元数据
上传成功后,您可以在文件列表中查看。单击“详细信息”以查看访问文件的链接
当我们访问文件地址时,访问将被拒绝
公共阅读
当我们将其设置为公共读取时,浏览器可以直接读取文件的内容
路径设置如下图所示
文件设置为公共读取
这里有个问题,我在网上看了一下访问文件的地址,都是直接显示在浏览器上的,而且设置好了之后,就可以直接下载文件了,不知道是什么原因。
公共读写
如果权限设置为“公共读取和写入”,则可以使用 PUT 方法上传任何文件。
正常访问读取文件如下:
将请求方法更改为 PUT,然后上传文件
如果
返回200,上传成功,我们可以从OSS控制台看到上传的文件。
文件遍历
OSS存储中存在类似列目录的漏洞,该漏洞显示当前存储中的所有文件存储路径。
示例演示:
首先,单击“权限控制”,然后单击“策略授权”以添加授权
选择“授权所有帐户”、“只读包括”(操作
)。
然后我们在文件列表中创建两个新文件夹,并将一些文件上传到它们
然后访问域名,您将找到所有文件的列表。
注意:OSS中域名存储的命令规则一般为[name].oss-cn-[]。
然后我们可以将路径拼接在一起,访问目录和文件。
总结:
从上面的例子可以看出,权限配置不正确的风险一般有三种:
3.2 域名解析接管
例如,如果您上传了 html 文件,则可以直接下载它,而不是显示 html 文件的解析页面。配置域名绑定后,可以直接访问域名进行HTML文件解析。
域名绑定:
由于域名备案需要购买服务器或花钱购买ICP备案代码,因此不会对后者进行演示。
让我们用语言来谈谈它。
如果域名绑定成功,可以直接访问绑定的域名,相当于直接访问OSS存储。例如,如果下面有xxx.html,可以直接访问绑定域 name/xxx.html,也可以直接解析html文件。
此设置不存在漏洞,但如果用户设置了域名绑定,但后期因某种原因删除了OSS存储中的域名,且域名绑定未删除,则会出现网站接管漏洞。
攻击者可以选择在原始区域中创建一个新区域。这样,绑定的域名就会解析为攻击者创建的域名。
域名接管案例:
上网搜索显示的网站
然后进入阿里云存储桶,创建一个同名的存储桶
上传随机文件后,您可以让域名显示我们上传的任何文件
3.3 爆破
如果我不知道怎么办?在绝望的情况下,您可以尝试爆破。获取名称,与目录爆破有些相似,只不过目录爆破一般由状态码决定,而状态码又由页面内容决定。
当不存在时,有两种返回情况,它们是
和
还有两种情况,一种是要上市
二是返回
这样,通过返回不同的内容,就可以进行名称爆破,一旦知道了名称,密钥的爆破也非常容易。
3.4、泄漏
它有什么作用?
访问密钥(AK)是阿里云提供给阿里云用户的永久访问密钥,用于通过开发工具(API、CLI、SDK、Cloud Shell等)访问阿里云时进行认证,不用于登录控制台。
其他制造商也有它们,它们可能有不同的称呼。获取这些信息后,您可以使用官方工具或互联网上其他人开发的工具接管OSS存储。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。