地方网站 源码,中国建设银行网站快速查询,wordpress 配置ftp,店铺管理软件简介
OSS#xff0c;对象存储服务#xff0c;对象存储可以简单理解为用来存储图片、音频、视频等非结构化数据的数据池。相对于主机服务器#xff0c;具有读写速度快#xff0c;利于分享的特点。 OSS工作原理#xff1a; 数据以对象#xff08;Object#xff09;的形式…简介
OSS对象存储服务对象存储可以简单理解为用来存储图片、音频、视频等非结构化数据的数据池。相对于主机服务器具有读写速度快利于分享的特点。 OSS工作原理 数据以对象Object的形式存储在OSS的存储空间Bucket 中。如果要使用OSS存储数据您需要先创建Bucket并指定Bucket的地域、访问权限、存储类型等属性。创建Bucket后您可以将数据以Object的形式上传到Bucket并指定Object的文件名Key作为其唯一标识。 介绍几个概念 Bucket用户用来管理所存储Object的储物空间。 ObjectOSS存储数据的基本单元。 Key当存储文件Object时需要指定此Object的名称Key后续您将通过这个Key来获取该Object的内容。 Key也可以用来模拟文件夹的一些属性。 Data存储的数据本体。
参考
阿里云 OSS对象存储攻防 对象存储(OSS)攻防案例
环境搭建
购买某里云的OSS存储很便宜一年9块钱。 创建一个Bucket。 默认情况下Bucket是私有权限private。
相关漏洞及其成因
OSS遍历漏洞
Bucket Object遍历 因为将读写权限设置为了公共读 listobject便会导致可存储桶遍历。 这里设置了权限为listobject直接访问存储桶域名就能看到存储桶中的所有文件的列表。 使用ossx工具可以遍历下载全部文件工具地址https://github.com/source-xu/oss-x
Bucket桶爆破
当不知道 Bucket 名称的时候可以通过爆破获得 Bucket 名称这有些类似于目录扫描只不过目录一般通过状态码判断这里通过页面的内容判断。 NoSuchBucket存储桶不存在。 InvalidBucketName存储桶的名称不符合规范属于无效的存储桶名称。 AccessDenied存在但无权限访问。 成功访问。
任意文件上传与覆盖
当存储桶的配置存储桶权限为可写会导致攻击者可上传任意文件到存储桶中或覆盖已经存在的文件。 使用PUT方法进行上传任意覆盖文件。 上传。 覆盖。
Bucket 接管
利用条件相对苛刻一些需要域名曾解析并绑定了一个存储桶也就是网站托管存储桶被删除但域名解析的 CNAME未删除此时访问时会显示NoSuchBucket。
利用方法是新建一个同样的Bucket储桶名称相同并且启用网站托管域名托管。 利用的例子Amazon S3 Bucket桶接管教程 大致就是按照流程接管开启读取权限然后上传一个文件。
AccessKeyIdSecretAccessKey泄露
获取目标的 AccessKeyId、SecretAccessKey 泄露便能获取到目标对象存储的所有权限。 主要来源如下 1、通过GitHub等开源平台中的源码可发现存在泄露的Key。 2、通过反编译APK找到敏感信息。 3、在目标网站源码中找到。 这里用到的工具就是ossbrowser参考官方文档安装连接即可控制。 安装并登录ossbrowser
Bucket 策略配置可写
若拥有Bucket Policy 的编辑权限可以通过上传或修改一个新的配置。涉及的权限如下图。
修复方法
存储桶相关的漏洞基本都来自权限管理的问题。 修复方法如下 1、应做好存储桶的权限管理。OSS鉴权详解 2、注意存储桶过期后及时关闭域名与存储桶的绑定。 3、避免敏感信息泄露。
最佳权限
官方建议是使用私有权限对文件的所有访问操作需要进行身份验证。