配置文件读取绝对路径_Adminer任意文件读取漏洞复现

本文介绍了Adminer的绝对路径文件读取漏洞,通过复现漏洞,展示如何在攻击机器上搭建Mysql环境,利用漏洞读取数据库配置文件。测试过程包括环境安装、开启外联、修改文件路径以及执行漏洞脚本,揭示了Windows和Linux环境下不同的错误反馈信息,并提醒用户升级至最新版以避免风险。
摘要由CSDN通过智能技术生成
05256c2c3afd20174d6f28042ea06ade.gif

正文: 943字 8图

预计阅读时间: 3分钟

简介

Adminer是一款轻量级的Web端数据库管理工具,支持MSSQL、MSSQL、Oracle、SQLite、PostgreSQL等众多主流数据库,类似于phpMyAdmin的MySQL管理客户端,整个程序只有一个PHP文件,易于使用安装,支持连接远程数据库。https://www.adminer.org/#download

漏洞复现

在攻击机器上搭建Mysql环境,然后远程执行编写好的漏洞脚本,尝试去读取一个不存在的文件看其是否会报错,获取到绝对路径信息,再去读取数据库配置文件或其他需要读取的内容,本次仅对/etc/passwd文件进行读取演示。

测试环境:Ubuntu 18.04.5 & mysql 5.7.32

Mysql环境安装

apt-get update
apt-get upgrade -y
apt-get install mysql-server -y

开启外联

修改/etc/mysql/mysql.conf.d/目录下的mysqld.cnf文件

6b68276b0822a40a8715d1074ae8d5ee.png

重启mysql服务

/etc/init.d/mysql restart

测试流程

service mysql stop
lsof -i tcp:3306
chmod 777 adminer.py
vim adminer.py

修改需要读取内容的路径

9678257864348a45fe537fc3e2ae947b.png

执行python adminer.py后,会在当前目录下生成mysql.log【第一次执行后mysql.log默认为空内容】。

这里为了方便使用写了一个一次性解决这个问题的样例[攻击机器上执行]:

kill `lsof -i tcp:3306|grep python|awk -F' ' '{print $2}'`&&python adminer.py&&tail -F mysql.log

在存在漏洞的目标上访问攻击机器上搭建的Mysql服务,账户密码可以任意,IP地址必须是需要正确的。

23458a279d86d0f4be28a7e5dc2fbe95.png

点击登录,当路径正确且存在的情况下,攻击端即可接收到数据包

e5e0f1de096df47b49004626a03cfaa4.png

如果路径错误或者文件不存在的情况下,会报错并返回绝对路径信息。

Windows返回绝对路径信息

5b7901035c9d01f3c18f6bc8a03728fa.png

Linux返回找不到文件或内容【也可以在返回包中查看到绝对路径信息】

ea2d218e942448b6fb27a3f3e272c941.png

总结

该漏洞已于4.6.3版中进行了修复,建议升级至最新版

该漏洞利用工具,可在公众号回复关键词Adminer即可下载!

82e97c9fd494947545dd07b88f2ec3f0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值