由OSS AccessKey泄露引发的思考
转载至https://www.cnblogs.com/xiaozi/p/11767841.html
什么是OSS?
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
什么是AccessKey?
AccessKey包括AccessKeyID和AcessKeySecret两部分,AccessKeyID用于标识用户,AcessKeySecret用于验证用户的密钥,主要用于程序方式调用云服务API。
我们来看一个简单的测试案例,当测试某个上传点时,获取到一个HTML表单:
请求的主机名xxxx.aliyuncs.com和表单的OSSAccessKeyId参数,基本可以确认系统使用 OSS 作为上传文件存储,即使上传恶意脚本文件也无法成功解析,面对这种情况如何破局?别着急放弃,还有一次机会的。
通过查阅相关文件,我们可以知道使用表单上传文件到 OSS的技术方案里,有三种实现方式:
OSS产品文档:https://help.aliyun.com/document_detail/31923.html
在客户端通过JavaScript代码完成签名,然后通过表单直传数据到OSS。
在服务端完成签名,然后通过表单直传数据到OSS。
在服务端完成签名,并且服务端设置了上传后回调,然后通过表单直传数据到OSS。OSS回调完成后,再将应用服务器响应结果返回给客户端。
当采用JavaScript客户端直接签名时,AccessKeyID和AcessKeySecret会暴露在前端页面,存在严重的安全隐患。
通过翻找js文件,可发现AccessKey就写在js文件里面。
AccessKey泄露,如何进行漏洞利用呢?
AccessKey是访问阿里云API的密钥,将会造成什么样的风险呢。
1、通过API接口
AccessKey ID和AccessKey Secret 就是打开这扇门的钥匙,通过调用API完成对服务器ECS实例的管理和运维操作。
API参考:https://helpcdn.aliyun.com/document_detail/117934.html
2、通过第三方管理工具
OSSBrowser
ossbrowser 是 OSS 官方提供的图形化管理工具,提供类似 Windows 资源管理器的功能,使用 ossbrowser,您可以方便地浏览、上传、下载和管理文件。
下载地址:http://gosspublic.alicdn.com/oss-browser/1.9.4/oss-browser-win32-x64.zip
护卫神.云备份
一键备份数据到阿里云OSS,支持Bucket管理,支持鼠标拖放,支持剪贴板,支持断点续传,支持统计目录大小,支持文件搜索。
下载地址:https://d.hws.com/free/HwsOSS.zip
行云管家
多云管理平台,导入AccessKey,可重置服务器密码,接管服务器。
官方地址:https://yun.cloudbility.com/login.html
常见问题解答
1. OSS的AccessKey 在什么情况下会出现泄露?
采用JavaScript客户端直接签名时,AccessKeyID和AcessKeySecret会暴露在前端页面,存在严重的安全隐患。
Github等平台泄露,通过关键字可搜索到。
通过其他漏洞读取配置文件获取AccessKey。
2. 前端OSS的AccessKey 泄露,代码如何修复?
采用JavaScript客户端签名直传存在严重安全风险,建议采用服务端签名后直传。
3. 访问OSS的AccessKey泄露了,该如何补救?
最安全的办法就是更换AccessKey,毕竟它只能创建或删除,启用或禁用,是没有给你修改密码的机会的。
4. 测试时,如何简单地来判断OSS的AccessKey是否储存在前端?
可以通过上传操作时,抓取的HTTP请求数量来做简单的判断。当采用JavaScript客户端直接签名,用户直接上传数据到OSS,一次请求即可完成。当采用服务端签名后直传的方式,需要用户向应用服务器请求上传Policy,再将数据上传到OSS,至少需要两次请求。
企业上云已成趋势,面对云平台的部署架构,不管是开发、安全或是运维,都将面临新的风险和挑战。云上丰富的产品矩阵,为用户提供了各种实例的选项,但技术方案的实现,云上的安全策略及服务,RAM精准的权限控制,每一步都与安全有关。
由OSS AccessKey泄露引发的思考相关推荐
- AccessKey泄露利用
被泄露的OSS密钥(阿里云OSS使用前端直传的危害) 由swagger引发的OSS AccessKey泄露 阿里云主机泄露Access Key到getshell
- 由Bitlocker问题引发的思考
由Bitlocker问题引发的思考 一.什么是Bitlocker问题 二.如何解决Bitlocker问题 三.重装Windows 10操作系统 四.萌生的思考 一.什么是Bitlocker问题 Bit ...
- JAVA-OPTS引发的思考
JAVA-OPTS引发的思考 我们在性能测试过程中,经常要修改应用的JAVA-OPTS参数.修改这些参数,不单单是修改这些数字,本着知其所以然的态度,我们要知道这些参数背后的意义. 常见的JAVA-O ...
- 一个小程序引发的思考
既然是一个小程序引发的思考,那么我们就先看看这个小程序,看看他有何神奇之处: namespace ConsoleApplication1 {class Program{static void Main ...
- 由“递归遍历二叉树”引发的思考
由"递归遍历二叉树"引发的思考 递归的用法我感觉自己已经掌握了,可是今天在递归遍历二叉树时,它又迷一样令我费解.我本人在算法这一块很薄弱,所以想把这个问题发出来,希望有大神能够为我 ...
- 由一行文本输入框引发的思考
文章是关于React组件之表单单行文本输入框的一些思考.可能大家第一反应都是,不就是一行<input/>嘛,没什么特别的吧?如果说到输入框的值的话,可能圈子里上大多数封装好的React ...
- 由熊猫烧香引发的思考
由熊猫烧香引发的思考 早期的计算机病毒诞生,作者是以技术炫耀为主,编写这类病毒需要更深入的了解系统及网络技术,开发功底也要更深厚.现阶段,一个合格的程序员,制造出具备破坏性的代码,已经不怎么难.甚至, ...
- Spring之LoadTimeWeaver——一个需求引发的思考---转
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver--一个需求引 ...
- 一次 Druid 连接池泄露引发的血案!
最近某个应用程序老是卡,需要重启才能解决问题,导致被各种投诉,排查问题是 Druid 连接池泄露引发的血案.. 异常日志如下: ERROR - com.alibaba.druid.pool.GetCo ...
最新文章
- ThreadLocal内存泄漏问题
- 命名规则标识符 unix_关于全局唯一标识符
- wireshark读写pcap文件_PCAP-file-analysis 利用wireshark捕获tcp ip数据包和pcap文件分析 - 下载 - 搜珍网...
- PXE+kickstart自动安装ubuntu14.04
- zShowBox (图片放大展示jquery版 兼容性好)
- Android中attrs.xml文件的使用详解
- ssl2348-连接格点【图论,最小生成树,并查集】
- jenkins重启 linux_在Linux中,Jenkins无法启动
- 放图片 java_java怎么在我想要的图片上在放一个我想要的图片
- 开发测试矛盾java吧_不愿看到Java开发者再做的10件事
- (转载)年薪如何从10万跳到50万
- 实战Vue:ToDoList
- 单网卡、单IP、双网关设置内外网同时访问
- 史上最全股票指标图文详解
- spssfisher判别分析步骤_SPSS判别分析
- Rme娃娃脸声卡驱动安装设置方法
- 基于SSL/TLS双向安全连接设备CA证书认证
- python跳过本次循环_python跳过循环
- 对于手势的一些思考(转载)
- 南怀瑾:家教与母教_huadingjin_新浪博客