血亏 2 万,一个 OSS 安全漏洞

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 血亏 2 万,一个 OSS 安全漏洞,心服口服!也许下个踩坑的就是你。。

事故(故事)

血亏 2 万,一个 OSS 安全漏洞,心服口服!也许下个踩坑的就是你。。

连续创业者(==持续亏损、失败),小A收购了个类似于 Pinterest 的网站,用户可以在里面上传图片,现在都是用的 OSS + CDN ,不自己搞磁盘阵列了。非常的方便。
[惬意喝咖啡]
突然有一天发现某云账号欠费,网站图片全部打不开了。
[脑瓜子嗡嗡的]
不对啊,CDN 和 OSS 都加了 referer 检验,不会哪个 APP 这么无良引用了我的图片吧。打开 OSS 控制台看了下统计。
image.png
[什么鬼]
什么鬼,一个图片访问 2554 次,用了 1.57T 的流量?
怎么会这么大的图片?不是在上传的时候限制了15M吗?不会AK泄密了吧?
[黑人问号]
文件名是路径都是严格按照流程来的,看来是程序漏洞,如果是 AK 泄漏,文件路径不会模拟的这么完整。

TMD,这些灰产拿哥的 OSS 和 CND 当最快的 FTP 呢?我下载了一个,用file命令看了下是mp4,我直接修改后缀,发现是一些电影。
电影比较枯燥,我就帮你们看了

破案

冷静下来梳理下,流程上是这样的:用户选择本地文件,然后前端拿着本地文件的信息跟后端要一个PutObject的上传 url 和临时 token,然后前端直传。这样做上传更高效,不用浪费后端的 I/O
这里有一点想当然了,就是在生成签名的时候,指定了图片的长度,但是...

headers.put("Content-Length", imageSize.toString());
request.setHeaders(headers);
URL signedUrl = ossClient.generatePresignedUrl(request);

但是在实际后面上传的时候不会拿这个值进行二次校验,太坑爹了!!!

只能说灰产,你们是真牛,各种逆向思维,各种找漏洞。

我觉得 putobject 的官方文档 应该显著的提醒用户存在这个风险。

官方文档上的 直传的最佳实践方案已经更新 也升级了,现在使用的应该是 PostObject 可以更好的配置上传策略(Policy)以限制上传操作。

怎么解决

这些祖传代码,我也不敢动啊。牵一发动全身,改一个地方,要回归一个月,只能打补丁。某云上的 oss 有触发器,就增加了个函数计算脚本来处理,发现大于15M的文件就设置成私有,过了1天,灰产就不再上传了。
如果你项目中也有类似的case,换成PostObject 的方案吧。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
7月前
|
监控 安全 BI
CloudLens for OSS全新升级助力OSS 安全审计
CloudLens for OSS支持OSS Bucket粒度的统一管理视图,支持资源用量、访问分析、异常检测、安全分析等可视化分析能力,提供场景化运维管理,实现Bucket资产的可观测性。
77326 0
|
5月前
|
存储 监控 安全
如何保护OSS数据安全?
【7月更文挑战第19天】如何保护OSS数据安全?
295 2
|
7月前
|
存储 机器学习/深度学习 安全
oss合规性认证
阿里云OSS在合规性方面表现出色,尤其适合金融等行业。它通过了Cohasset审计,满足SEC、FINRA和CFTC的记录保存要求。OSS提供数据复制时间控制和服务器端加密,确保数据实时复制和安全性。此外,可能符合ISO 27001、HIPAA、GDPR、PCI-DSS等标准,并有配置审计服务保证资源合规性。欲知详情,建议访问阿里云官网或联系客服获取最新合规认证信息。
156 4
|
7月前
|
存储 监控 安全
oss安全性保障
阿里云OSS提供多层安全保障,包括数据加密(服务器端SSE-KMS和客户端加密)、访问控制(身份验证、ACL、签名URL和防盗链)、DDoS防护、沙箱机制、合规性认证和日志审计。此外,还支持WORM策略确保数据不可篡改及版本控制以恢复误删数据。通过这些措施,OSS确保用户数据的机密性、完整性和可用性,满足不同业务的安全和合规需求。
350 2
|
7月前
|
安全 Java 网络安全
对象存储oss使用问题之使用oss上服务器后显示服务异常如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
942 0
|
7月前
|
存储 对象存储 数据安全/隐私保护
oss数据丢失问题剖析
OSS是分布式存储产品,通过数据自动多重冗余备份保证数据的持久性。因此正常情况下,OSS本身是不会导致数据出现丢失的情况的。
202 6
|
存储 算法 数据安全/隐私保护
OSS 解决方案篇-OSS 数据安全
加强 OSS 信息安全管控,多种解决方案实现数据安全
5647 0
OSS 解决方案篇-OSS 数据安全
|
网络协议 专有云 对象存储
OSS 工具之 OSSBrower
浅谈 ossbrower,图形版的操作工具,有控制台的基本功能,可以理解是 ossutil 工具的图形版,适用于一些非技术人员来操作 oss ,但是性能上并不如 ossutil 那么给力。 使用须知 ossbrower 支持断点续传,以及一键暂停和一键恢复; ossbrower 最大支持文件大小.
OSS 工具之 OSSBrower
|
监控 API 对象存储
OSS 监控
场景:云监控 OSS 出现 "数据不足" 先看下 OSS 控制台的监控的 http code 、以及 QPS 分析,如果 OSS 请求量比较小,而 OSS 对应的时间点有没有请求就会出现数据不足的情况,这种问题最好设置合理的监控数据上报时间。
OSS 监控
|
弹性计算 Java 开发工具
【OSS 排查方案-3】OSS 的网络排查
鉴于之前遇到很多 本地-》OSS ,上传、下载总是慢的情况,或者上传、下载经常出现错误或者异常的问题。根据多个典型案例,抽象出一下排查方案,希望对大家快速定位问题有所帮助。
【OSS 排查方案-3】OSS 的网络排查