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

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 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快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
算法 安全 搜索推荐
TLS 协议-对称加密原理
TLS 协议-对称加密原理
854 0
|
开发者
从线下审批到在线审批——流程设计|学习笔记
快速学习从线下审批到在线审批——流程设计
从线下审批到在线审批——流程设计|学习笔记
|
人工智能 算法 Java
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
|
8月前
|
人工智能 算法 前端开发
超越Prompt Engineering:揭秘高并发AI系统的上下文工程实践
本文系统解析AI工程范式从Prompt Engineering到Context Engineering的演进路径,深入探讨RAG、向量数据库、上下文压缩等关键技术,并结合LangGraph与智能体系统架构,助力开发者构建高可靠AI应用。
1032 2
|
10月前
|
存储 人工智能 运维
防御OSS Bucket泄露:RAM权限策略+日志审计+敏感数据扫描三重防护
云存储安全三重防护体系,聚焦RAM权限控制、日志审计与敏感数据扫描,通过策略精控、异常检测与主动扫描构建闭环防御,有效应对配置错误导致的数据泄露风险,提升企业云上数据安全性。
721 0
|
8月前
|
存储 安全 对象存储
OSS遭遇滥用:内容涉诈导致bucket被封禁
近期,有诈骗分子批量利用阿里云客户应用系统的文件上传漏洞,将诈骗内容存储到客户开放公开读的OSS Bucket 中,然后利用OSS公共域名的可信特点,诱骗受害者扫码填写个人信息造成财产损失。受害者报案后,因涉嫌参与诈骗链条,客户相关的 OSS Bucket 面临因涉嫌参与诈骗链条封禁风险。
|
存储 域名解析 前端开发
云上攻防-云服务篇&对象存储&Bucket桶&任意上传&域名接管&AccessKey泄漏
云上攻防-云服务篇&对象存储&Bucket桶&任意上传&域名接管&AccessKey泄漏
2225 8
|
存储 弹性计算 缓存
阿里云服务器ECS通用型实例规格族特点、适用场景、指标数据解析
阿里云服务器ECS提供了多种通用型实例规格族,每种规格族都针对不同的计算需求、存储性能、网络吞吐量和安全特性进行了优化。以下是对存储增强通用型实例规格族g8ise、通用型实例规格族g8a、通用型实例规格族g8y、存储增强通用型实例规格族g7se、通用型实例规格族g7等所有通用型实例规格族的详细解析,包括它们的核心特点、适用场景、实例规格及具体指标数据,以供参考。
阿里云服务器ECS通用型实例规格族特点、适用场景、指标数据解析
|
存储 Ubuntu 应用服务中间件
在Docker中,怎么快速查看本地的镜像和容器?
在Docker中,怎么快速查看本地的镜像和容器?
|
域名解析 负载均衡 网络协议
DNS重定向
【8月更文挑战第16天】
1785 1