文章总结: 本文概述云服务概念并深入分析对象存储安全风险。重点阐述了Bucket遍历、Bucket接管、任意文件上传及AK/SK泄露四大漏洞的成因与利用方式。文章结合阿里云OSS实例,详细演示了配置错误导致的敏感文件泄露与接管攻击流程,为云上资产安全配置与渗透测试提供了实用的技术参考。 综合评分: 82 文章分类: 云安全,渗透测试,漏洞分析,WEB安全
云服务-存储桶安全
进击的HACK
2026年3月6日 23:36 江苏
以下文章来源于FoundSEC ,作者FoundSec
FoundSEC .
分享网络安全资料文章。
云服务简介
云服务,顾名思义就是云上服务,在云厂商购买得产品服务。国内云厂商有:阿里云、腾讯云、华为云、Ucloud、金山云、火山云等,国外的就是亚马逊 AWS、Google 得 GCP、微软得 Azure 等。
每个云厂商对云服务得叫法不统一
以 AWS 为例:
-
S3 对象存储,简单得说就是一个类似网盘得东西,可以将文件存储在上面。
-
EC2 弹性计算服务,简单得说就是在云上得一台虚拟机
-
RDS 云数据库,简单说就是云上得一个数据库服务。
-
IAM 身份和访问管理,就是云控制台上得一套身份管理服务,可以用来管理每个子账号得权限。
阿里云为例:
-
对象存储 OSS – 相当于AWS的S3。简单说就是一个海量、安全的云存储服务,可以像使用网盘一样存储和管理任意类型的文件和数据。
-
云服务器 ECS – 相当于AWS的EC2。简单说就是在云上的弹性可伸缩的虚拟计算服务器,也就是一台虚拟机。
-
云数据库 RDS – 与AWS的RDS同名且对应。简单说就是云上开箱即用、稳定可靠、可弹性伸缩的数据库服务,支持MySQL、SQL Server、PostgreSQL等多种数据库引擎。
-
访问控制 RAM – 相当于AWS的IAM。简单说就是管理用户(比如子账号、应用程序)权限的服务,可以控制他们能访问哪些阿里云资源。
对象存储各大云名词
不同的云厂商在描述对象存储的时候也不一样。
-
阿里云:OSS
-
腾讯云:COS
-
华为云:OBS
-
亚马逊云:S3
-
谷歌云 :GCS
-
微软云:Blob
什么是 Bucket 桶
这是在 OSS 服务下,用于存储文件的容器,将其定义为 Bucket 桶。
Bucket 桶的特性:
-
每个 Bucket 有一个全局唯一的名称(在同一服务商下)
-
每个对象(文件)都必须属于某个 Bucket
Bucket 可以设置:
-
访问权限(公有、私有、仅对某些人开放)
-
生命周期规则(比如指定 30 天后删除)
-
跨区域复制、日志记录、版本控制等高级功能。
也正是因为这个些的存在,才有了我们可以攻击的思路。
阿里云 OSS对象存储攻防:https://zone.huoxian.cn/d/918-oss
对象存储(OSS)攻防案例:https://www.freebuf.com/articles/others-articles/356583.html
OSS遍历漏洞(Bucket Object遍历)
因为将读写权限设置为了公共读( Listobject),便会导致可存储桶遍历。
设置为公共读的话,当访问存储桶域名就能看到存储桶中的所有文件的列表
使用ossx工具可以遍历下载全部文件
Bucket 接管漏洞
当管理员在云存储服务中创建一个 bucket 时,该桶的名称是唯一的。然而,一旦管理员将 bucket 与自定义域名关联,通过DNS解析将 CNAME 指向 bucket 的域名,就存在一种潜在的劫持风险。
管理员将 bucket 删除后,没有将域名解析的CNAME删除。这种情况下,因为 bucket 的唯一性是在存储服务层面而不是在域名解析层面,攻击者通过注册相同名称的 bucket,上传任意文件到新注册的 bucket,攻击者就能够控制原本与域名相关联的内容。
关键点在于:原来创建了bucket然后做了域名解析,但是后续将bucket删除了,但是dns解析记录还在,那么我们就可以创建一个同名的bucket,然后在bucket创建文件等,再次访问原来的bucket地址就会解析到我们的bucket
product="AliyunOSS" && body="NoSuchBucket"
- 访问:https://xxx.oss-ap-south-1.aliyuncs.com/
提示 NoSuchBucket,这个桶不存在
HostId : bxxxaxxo-tb.oss-cn-shenzhen.aliyuncs.comBucketName : baxxxao-tb
2.创建Bucke,前往阿里云OSS管理控制台:https://oss.console.aliyun.com/bucket注意填写 Bucket 名称和地域,和上面获取的信息保持一致
查看 Bucket 域名,可以看到创建成功
已经成功接管了该存储桶,尝试上传文件后配置权限公开访问
3. 上传文件
访问左侧菜单,选择上传文件,上传HTML文件,文件ACL 选择公共读就可以了
- 访问该地址,发现已经劫持成功
对象存储任意文件上传
如果在配置存储桶时,管理员错误的将存储桶权限,配置为可写,这将会导致攻击者可上传任意文件到存储桶中,或覆盖已经存在的文件
AK/SK 泄露导致接管
- AccessKey ID:用于标识用户。
- AccessKey Secret:是一个用于验证您拥有该AccessKey ID的密码。
Accesskey 不用于控制台登录,用户可以借助开发工具调用 API 接口访问阿里云进行身份验证。
如果目标的 AccessKeyId、SecretAccessKey 泄露,那么就能获取到目标对象存储的所有权限,一般可以通过以下几种方法进行收集:
-
小程序源代码
-
JS 源代码
-
APP 反编译源码
-
Github 关键字搜索
-
网站配置文件(Nacos、SpringBoot)
-
文件上传后的响应包中
可以去看看该文章其中也有介绍到有对应的截图:https://blog.csdn.net/qq_43531669/article/details/146402688
1.然后如果拿到了AccessKey以及AccessKeySecret的话,就可以使用连接工具连接了
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:进击的HACK 《云服务-存储桶安全》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论