找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2569

积分

0

好友

363

主题
发表于 9 小时前 | 查看: 0| 回复: 0

云存储服务中的存储桶(Bucket)如果配置不当,会引发严重的安全风险。本文将通过实际案例,记录几种常见的存储桶相关漏洞,包括存储桶遍历、任意文件上传等,并介绍相应的检测工具与方法。

存储桶遍历

存储桶遍历漏洞允许未授权用户列出存储桶内的所有对象。当存储桶的策略(Policy)或访问控制列表(ACL)配置过于宽松时,攻击者可以直接访问类似 ?list-type=2 这样的参数来获取完整的文件列表。

存储桶XML列表结果

通过编写简单的Python脚本,可以自动化提取存储桶内的文件信息。下图展示了一个脚本的运行结果,成功遍历并统计了存储桶内的数千个文件。

Python脚本遍历存储桶文件

任意文件上传

案例一:成功上传覆盖

测试目标存储桶是否允许匿名用户使用PUT方法上传或覆盖任意文件。若请求返回状态码200,通常意味着上传成功。

PUT请求成功上传文件

上传成功后,访问对应的文件URL,若能成功下载或看到预期内容(例如内容为“1”),则证实了任意文件上传漏洞的存在,攻击者可借此覆盖重要文件或上传恶意脚本。

案例二:中国移动EOS服务器的特殊要求

在对中国移动的EOS(对象存储)服务进行测试时,直接上传文件可能会遇到411 Length Required错误,提示MissingContentLength

中国移动EOS服务器返回411错误

这说明该服务器强制要求显式指定Content-Length请求头。因此,在利用漏洞进行安全测试时,需要根据上传内容的类型,手动计算并携带正确的Content-Length值。

# 上传普通文件(自动计算并携带 Content-Length)
curl -X PUT \
  -H "Content-Length: $(wc -c < your-file.txt)" \  # 计算文件字节数
  -H "Content-Type: application/octet-stream" \
  -T your-file.txt \
  "https://xxx.xxx.eos.chinamobile.com/your-object-key"

# 上传空内容(强制指定 Content-Length: 0)
curl -X PUT \
  -H "Content-Length: 0" \
  -d "" \
  "https://xxx.xxx.eos.chinamobile.com/empty-object-key"

通过curl命令成功上传文件

指定浏览器以HTML格式解析

有时,直接访问存储桶中的对象(如.jpg, .txt文件)会触发浏览器下载,而非直接渲染。此时,可以尝试在URL后附加参数 ?response-content-type=text/html,指示服务器告知浏览器以HTML格式解析响应内容。

?response-content-type=text/html

如果成功,原本是图片或文本的文件可能会被当作HTML代码执行。下图展示了一个被成功解析并弹出警告框的案例。

通过参数控制文件以HTML格式解析并执行

但需要注意的是,此操作通常需要存储桶配置了相应的策略来覆盖响应头,否则可能会收到类似 ForbiddenResponseHeaderWrite 的权限错误。

服务器返回权限不足错误

浏览器插件BucketTool

手动检测存储桶漏洞效率较低,可以使用自动化工具。BucketTool是一款浏览器插件,能方便地对当前页面的存储桶URL进行一键检测。

在谷歌浏览器中,只需在页面上右键,选择“用 BucketTool 检测”。

浏览器右键菜单中的BucketTool选项

插件会弹出窗口,提示输入待检测的存储桶URL。

BucketTool检测日志窗口
BucketTool URL输入窗口

检测开始后,插件会自动化测试存储桶的可遍历性、文件上传和删除权限等,并直观地展示结果。

BucketTool自动化检测结果

点击检测记录中的“展示细节”,可以查看完整的HTTP请求与响应数据包,便于深入分析漏洞原理。

BucketTool显示的详细HTTP请求响应信息

综合扫描工具dddd

除了浏览器插件,还有一些命令行工具可以进行更全面的资产发现与漏洞扫描。例如,工具dddd.exe在扫描过程中能够自动识别存储桶端点,并检测出任意文件删除、任意文件上传、对象列表等相关的安全风险。

dddd工具扫描结果包含S3桶漏洞

扫描报告中标记出的高危链接,直接访问可能触发XSS等攻击。

通过扫描发现的漏洞URL触发弹窗


总结
存储桶的安全配置是云安全中至关重要的一环。管理员应严格遵守最小权限原则,定期审计存储桶的ACL和Policy设置,避免因配置疏忽导致数据泄露或服务被篡改。对于安全研究人员而言,了解这些常见的漏洞模式和利用手法,并使用自动化工具进行渗透测试,是提升云环境安全防护能力的有效途径。




上一篇:盘点7个开源国产高效工具,从桌面管理到团队协作
下一篇:Linux运维实践:使用logrotate管理Nginx与MySQL日志轮转与清理
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-26 17:27 , Processed in 0.328809 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表