前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Adminer任意文件读取漏洞复现

Adminer任意文件读取漏洞复现

原创
作者头像
小生观察室
修改2021-09-06 11:34:37
2.7K0
修改2021-09-06 11:34:37
举报
文章被收录于专栏:小生观察室小生观察室

简介

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文件

重启mysql服务

/etc/init.d/mysql restart

测试流程

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

修改需要读取内容的路径

执行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地址必须是需要正确的。

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

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

Windows返回绝对路径信息

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

总结

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 漏洞复现
    • Mysql环境安装
      • 开启外联
        • 测试流程
          • 总结
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档