首页 > 其他分享 >云原生服务攻防技术研究 - 影响

云原生服务攻防技术研究 - 影响

时间:2023-12-15 17:36:05浏览次数:29  
标签:原生 攻防 存储 服务 Bucket 用户 访问 密钥 攻击者

一、Bucket 爆破

当不知道 Bucket 名称的时候,可以通过爆破获得 Bucket 名称,这有些类似于目录爆破,只不过目录爆破一般通过状态码判断,而这个通过页面的内容判断。

当对于阿里云OSS 不存在有两种返回情况,分别是

  • InvalidBucketName:表示存储桶的名称不符合规范,属于无效的存储桶名称
  • NoSuchBucket:表示没有这个存储桶

当存储桶存在时,则会返回以下两种情况,

  • 禁止列对象报错
  • 根目录烈对象 

这样通过返回内容的不同,就可以进行 Bucket 名称爆破了,知道 Bucket 名称后,Key 的爆破也就很容易了。 

参考链接:

https://zone.huoxian.cn/d/918-oss

 

二、Bucket Object 遍历

如果设置了ListObject,这将会导致Bucket桶被遍历。

 

三、任意文件上传覆盖

如果在配置存储桶时,管理员错误的将存储桶权限,配置为可写,这将会导致攻击者可上传任意文件到存储桶中,或覆盖已经存在的文件。

如果目标的对象存储支持 html 解析,那就可以利用任意文件上传进行 XSS 钓鱼、挂暗链、挂黑页、供应链投毒等操作。

需要注意的是,2018年8月13日之后开启的Bucket,直接使用OSS访问域名,从互联网访问OSS上的htm、 html、jsp、plg、htx 和stm类型文件时,都会被阿里云直接强制下载。想要访问自己的Buncket中的静态页面,则需要给这个Buncket配域名。 

 

四、Bucket 接管

如果管理员通过域名解析并绑定了一个存储桶,但是管理员将存储桶删除后,没有将域名解析的CNAME删除,这时会访问旧域名就会出现报错,NoSuchBucket。 

这个时候可以登录自己的阿里云账号,创建同样的名称即可成功接管了该存储桶。

 

五、Bucket资源超范围限定

在使用存储桶进行对象读取或写入操作时,如果没有合理的或者错误的在Policy中配置用户允许访问的资源路径(resource),则会出现越权访问,导致用户数据被恶意上传覆盖或被其他用户下载等安全问题。

在Web应用开发中,经常会发生此类问题。设想以下场景:在一个Web应用使用对象存储来存储用户头像,且通过前端直传的方式将用户上传的头像传至存储桶中,并希望在存储桶/avatar/路径中存储桶用户的头像,由于后端开发时为了方便而进行了不规范的存储桶Policy配置,在生成用户用以上传头像的临时密钥时直接将此临时密钥允许访问的 resource 指定为 qcs::cos:<Region>:uid/<APPID>:<BucketName-APPID>/avatar/*路径。

这样以来,系统为每个用户所生成的用以上传以及浏览头像的临时密钥虽然不尽相同,但是这个临时密钥都拥有qcs::cos:<Region>:uid/<APPID>:<BucketName-APPID>/avatar/*路径中的所有资源的读写权限。

这一错误的配置导致了很多严重的安全问题,由于在此场景下,Web应用程序使用前端直传的方式访问存储桶,因此后台生成的临时密钥将会发送给前台,任意用户通过网络抓包等手段获取到的临时凭据,可参见下图流量中响应包内容。

在获取了临时密钥之后,攻击者凭借此凭据读写qcs::cos:<Region>:uid/<APPID>:<BucketName-APPID>/avatar/*路径中的任意对象。

攻击者可以通过此方式覆盖目录中其他用户资源,见下图:

上图攻击者通过test.txt文件覆盖了16.png。当然,攻击者也可以轻易的读取此目录中其他用户的文件。

针对此问题的修复方式如下:可以通过每个用户的用户标识来为每一个用户设置一个独用的路径,例如可以在为用户生成临时密钥时,将policy中resource 指定为 qcs::cos:<Region>:uid/<APPID>:<BucketName-APPID>/avatar/<Username>/*来满足规范要求;此外,resource 字段支持以数组的形式传入多个值。因此,也可以显式指定多个 resource 值来完全限定用户有权限访问的最终资源路径。

参考链接: 
https://mp.weixin.qq.com/s/ncWGrMsIAvh9HEK1QC5IGQ

 

 

 

标签:原生,攻防,存储,服务,Bucket,用户,访问,密钥,攻击者
From: https://www.cnblogs.com/LittleHann/p/17899362.html

相关文章

  • 云原生服务攻防技术研究 - 信息收集
    一、元数据在阿里云ECS常见下可以直接请求:http://100.100.100.200/latest/meta-data/ ,来获取元数据参考链接:https://cloudsec.huoxian.cn/docs/articles/aliyun/aliyun_ecs#%E5%85%AD%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86 二、子网信息在进行横向移动时,如果知道目标存......
  • 恒创科技:网站服务器/域名/备案到底有什么关联?
    ​在一个网站的组成中,网站服务器、域名、备案这几个要素是要被常提到的。在谈及三者关联之前,我们先了解下三者的各自概念。域名:它是网站的唯|一标识符,通俗理解来说就是用户在浏览器地址栏中输入的网址。一般来说,域名可以在域名商处注册。备案:这是出于我国对互联网的......
  • Jenkins 构建 AWS Fargate 服务的自动化更新控制
    引言在云原生应用开发中,AWSFargate是一种无服务器容器编排服务,能够简化容器的部署和管理。结合Jenkins,我们可以实现对AWSFargate服务的自动构建和更新控制。本文将介绍如何通过Python脚本实现Fargate服务的自动构建和部署,并通过DingDing机器人发送通知。Jenkins构建A......
  • 服务器为什么突然无法链接了
    服务器无法链接的原因比较多,最主要的情况还是遭到黑客的攻击,那么该怎么预防和避免这种情况的出现呢?简介当服务器遭受攻击造成无法访问,会导致客流量的严重流失,进而对整个平台和企业的业务造成严重影响。例如,电商平台在遭受DDoS攻击时,网站无法正常访问甚至暂时关闭,这将直接导致合法用......
  • 电脑跟服务器都能读取的u盘格式是什么
    U盘的三种格式1、FAT32格式:FAT32格式兼容性相对好一些,几乎可以应对所有主流的操作系统(比如Windows、MacOS、Linux等),并且可以快速读写。但它的缺点是不能设置权限,安全等级较低;而且这个格式下的U盘最高只能支持4G以下的单个文件传输。linux下使用命令将U盘格式为FAT32:2、NTFS......
  • Win11无法启动SqlServer服务问题,SqlServer服务启动1067错误
    因为SQLServer当前支持512字节和4KB的扇区存储大小。所以需要将SqlServer安装到支持4KB的磁盘。以管理员权限运行PowerShell,执行fsutilfsinfosectorinfoC:命令查看各磁盘是否支持4kb存储查找以下字段值(单位为字节)PhysicalBytesPerSectorForAtomicityPhysicalBytesPe......
  • 记录一次在k8s上,web服务内嵌的netty-socketio注册到nacos,gateway转发路由 遇到的问题
    web服务内嵌的nacos怎么注册?使用javasdk方式参考链接:https://nacos.io/zh-cn/docs/sdk.html每个socket不同怎么设置端口我这里使用的是注解,让用户传过来,并且在bean初始化之前进行变量存储。这个链接里面的[netty-socketio服务端代码编写目录]:https://www.cnblogs.com/x......
  • Linux服务器常用的有什么版本?
    目前,Linux操作系统已经成为世界上最流行的操作系统之一。而且随着技术的不断发展,Linux系统也不断更新和升级,涌现了很多新的Linux版本。那么Linux服务器常用的有什么版本?以下是详细内容介绍。Linux有许多不同的发行版,每个发行版都有自己的特点和适用场景。对于选择Linux服......
  • IP代理如何影响网站的速度?代理ip服务器有哪些作用?
    前言IP代理是一种通过在用户和目标网站之间引入代理服务器来访问目标网站的方式。代理服务器充当中间人,将用户的请求转发给目标网站,同时隐藏用户的真实IP地址。IP代理对网站速度的影响主要取决于代理服务器的性能、网络延迟以及代理IP的质量。一、如何影响速度首先,代理服务器的性......
  • linux服务端口转发
    在执行转发操作之前,确定需要转发的端口和目标主机:首先,确定需要转发的端口和目标主机。例如,如果需要将端口80上的请求转发到192.168.0.100的80端口,则需要配置转发规则。常用的转发方法有如下6中iptables转发--CentOS7.0以下使用firewall转发--CentOS7.0以上使用rinetd转发  ......