Adminer
目录
Adminer是什么
CVE-2021-43008(Adminer远程文件读取)
CVE-2021-21311(Adminer ElasticSearch 和 ClickHouse 错误页面SSRF漏洞)
Adminer是什么
Adminer(原 phpMinAdmin)是一个用 PHP 编写的网页版全功能数据库管理工具。与 phpMyAdmin 相反,它由一个准备部署到目标服务器的文件组成。Adminer 可用于 MySQL、PostgreSQL、SQLite、MS SQL、Oracle、Firebird、SimpleDB、Elasticsearch 和 MongoDB。
CVE-2021-43008(Adminer远程文件读取)
漏洞成因:MySQL客户端和服务端通信过程是通过对话形式实现的,客户端发起请求,服务端处理请求。如果某个操作需要多步操作,客户端处理第一个请求后并不会存储。第二步根据服务器返回的响应来继续操作,此时如果服务器返回其他恶意操作,客户端就会执行。
MySQL中有个语法为load data infile用来读取文件并写入表中,该操作就是典型的多步操作。
版本要求:adminer 1.16.0-4.6.2
步骤1:搭建一个恶意的MySQL服务器,使用mysql-fake-server。
使用git直接拉代码,这里想kali直接连github,要完成以下两点
- 配置代理VPN。可以访问github
- 使用ssh,将自己生成的公钥复制到GitHub账户里
拉取成功后,使用maven编译源码。再启动恶意服务器
步骤2:使用adminer发送恶意请求。
步骤3:验证结果
CVE-2021-21311(Adminer ElasticSearch 和 ClickHouse 错误页面SSRF漏洞)
漏洞成因:对于ElasticSearch 和 ClickHouse 数据库地址没有做严格校验,导致可以产生服务端请求伪造SSRF。
版本要求:adminer 4.0.0 - 4.7.9
步骤1:选择ElasticSearch 和 ClickHouse 数据库,在server字段填写恶意地址。
步骤2:验证是否上线