今天看oss存储桶爆破。
描述:oss存储桶爆破,和传统的爆破有什么区别?
我们先打开靶场。
haobachang()x()x001.oss-cn-chengdu.aliyuncs.com我们需要把()里的数字爆破出来。他和平时的爆破有一个关键的区别:目录爆破通常通过观察服务器返回的状态码来确定目录是否存在,而Bucket爆破需要观察页面内容(AccessDenied || InvalidBucketName || InvalidBucketName)来判断Bucket是否存在。
打开Yakit,爆破,这里我是导出数据发给AI分析的,结果发现状态有个403的,点一下就知道了。
输入储存桶名字,得到flag。
漏洞修复:
更换AccessKey。 通过RAM实现精准的权限控制。 AccessKey应该始终在后端服务器上保存,并通过安全的方式传递给前端。 实施监控和审计机制,定期检查AccessKey的使用情况。
关于OSS储存:
1. 什么是 OSS (对象存储)?
OSS 是一种基于互联网的存储服务,专为存储和检索任意数量的数据(非结构化数据)而设计。
特点: 海量、安全、低成本、高可靠。
适用对象: 图片、音视频、日志文件、备份包等(非数据库结构化数据)。
访问方式: 通过 RESTful API(HTTP/HTTPS)在互联网的任何位置进行访问。
2. 核心概念 (Core Concepts)
理解以下四个概念是使用 OSS 的基础:
1. 存储空间 (Bucket)
定义: 存储对象的容器,类似于电脑里的“根文件夹”,但结构是扁平的。
规则:
全局唯一: 在整个云厂商的范围内,Bucket 名称不能重复。
地域属性: 创建时需指定地域 (Region),一旦创建无法修改。
扁平结构: Bucket 内部没有真正的“文件夹”概念(虽然可以通过文件名模拟),所有文件都是并列的。
比如:https://haobachang0x0x001.oss-cn-chengdu.aliyuncs.com
haobachang0x0x001也就是本题需要的name!
2. 对象 (Object / File)
定义: OSS 存储数据的基本单元。
组成:
Key (文件名): 对象的唯一标识(包含路径,如
images/2023/logo.png)。Data (数据实体): 文件的实际内容。
Metadata (元数据): 描述文件的属性(如大小、类型、创建时间、自定义标签)。
3. 地域 (Region)
数据中心的物理位置(如“华东1-杭州”、“美西-硅谷”)。
选择原则: 尽量靠近用户(降低延迟)或靠近你的计算资源(ECS/函数计算),以内网互通降低流量费用。
4. 访问域名 (Endpoint)
访问 Bucket 的 API 入口。分为 外网 Endpoint(互联网访问)和 内网 Endpoint(同地域云产品内网访问,免流量费)。
3. 存储类型 (Storage Classes)
OSS 通常根据访问频率提供不同的存储分层,以优化成本。
存储类型 | 适用场景 | 存储成本 | 访问成本 | 数据取回时间 | 最短存储期限 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
标准存储 (Standard) | 频繁访问的热点数据(如社交应用的图片、视频)。 | 最高 | 最低 | 毫秒级 | 无 | ||||||
低频访问 (IA) | 较少访问(如月度报表、备份),但需实时读取。 | 中等 | 中等 | 毫秒级 | 通常 30 天 | ||||||
归档存储 (Archive) | 长期保存、极少访问(如合规档案、医疗影像)。 | 较低 | 较高 | 分钟/小时级 (需解冻) | 通常 60 天 | ||||||
冷归档 (Cold Archive) | 超长周期备份(如数年才访问一次的法律文书)。 | 最低 | 最高 | 小时级 (需长时间解冻) | 通常 180 天 |
> 提示: 不要将频繁读取的数据放入归档存储,否则“取回费用”会极其昂贵。
4. 关键功能特性
安全与权限
ACL (访问控制列表): 设置 Bucket 或 Object 的读写权限(私有、公共读、公共读写)。
最佳实践:绝大多数情况应设为 “私有” (Private) 。
防盗链 (Referer): 限制只有特定域名的网页可以引用你的资源。
STS (临时授权): 配合 RAM 角色,给移动端 App 发放临时 Token 直接上传文件,避免在客户端暴露永久 Key。
生命周期管理 (Lifecycle)
自动化降本: 设置规则,让文件在上传 N 天后自动转为“低频存储”,或 N 天后自动删除。
应用场景: 日志文件保留 30 天后自动清理。
静态网站托管
可以将 Bucket 配置成一个简单的 Web 服务器,用于托管静态网页(HTML/CSS/JS)。配合 CDN 使用效果更佳。
图片处理 (IMG)
很多 OSS 支持在 URL 后面加参数直接对图片进行裁剪、缩放、加水印、转换格式(如
image.jpg?x-oss-process=style/w300),无需后端代码处理。
5. OSS vs 传统文件系统
特性 | OSS (对象存储) | 文件系统 (NAS/本地硬盘) |
|---|---|---|
结构 | 扁平结构(Key-Value) | 层级结构(目录树) |
修改 | 不支持修改(只能覆盖上传/删除) | 支持部分修改/追加 |
扩展性 | 无限扩展 (PB/EB 级) | 受限于磁盘容量 |
性能 | 高并发吞吐量大,但单文件读写延迟略高 | 适合低延迟、频繁的小文件读写 |
协议 | HTTP RESTful API | POSIX (NFS/SMB) |