MinIO verify 接口敏感信息泄露漏洞分析(CVE-2023-28432)
MinIO verify 接口敏感信息泄露漏洞
简介
漏洞描述: MinIO 是一种开源的对象存储服务,它兼容 Amazon S3 API,可以在私有云或公有云中使用。MinIO 是一种高性能、高可用性的分布式存储系统,它可以存储大量数据,并提供对数据的高速读写能力。MinIO 采用分布式架构,可以在多个节点上运行,从而实现数据的分布式存储和处理。
影响范围: MinIO verify接口存在敏感信息泄漏漏洞,攻击者通过构造特殊URL地址,读取系统敏感信息。
漏洞攻击载荷
POST /minio/bootstrap/v1/verify HTTP/1.1
漏洞检测方法
HTTP请求:
GET /api/v1/check-version
HTTP响应:
HTTP/1.1 200 OKConnection: closeContent-Type: application/jsonDate: Fri, 24 Mar 2023 06:26:01 GMTServer: MinIO ConsoleVary: Accept-EncodingX-Content-Type-Options: nosniffX-Frame-Options: DENYX-Xss-Protection: 1; mode=blockContent-Length: 69{ "latest_version": "minio/minio:RELEASE.2023-03-22T06-36-24Z"}
当latest_version的value 首先根据攻击载荷,咱们看到在调用bootstrap。根据main.go中的加载模块得知代码逻辑在minio/cmd中。 接下来,需要查看getServerSystemCfg()做了些什么。在getServerSystemCfg()方法中获取了环境变量,其中envValues采用遍历的方式获取了skipEnvs[envK]的value。 MINIO_CERT_PASSWD的值来源于buildscripts\upgrade-tests\minio.env,minio.env之中明文存储着账号密码信息。 来源地址:https://blog.csdn.net/qq_35476650/article/details/129748849漏洞代码分析
紧接着通过查看应用路由得知,存在漏洞的文件为bootstrap-peer-server.go。
在文件中找到哪里能接受HTTP请求,接受HTTP请求的方法只有两个,
分别在Line130与Line132。
通过攻击载荷之中的verify得知,我们入口在Line132。咱们看下程序在入口做了什么?
Line133,代码新建上下文对象,用于传递HTTP请求和响应。
Line135,用于输出错误日志。
Line134作为则是获取服务器系统配置。
skipEnvs中包含什么?其中包含MINIO_CERT_PASSWD等敏感信息
最终由于在逻辑上无认证,导致了未授权访问漏洞。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341