首页 -> 安全研究

安全研究

安全漏洞
Windows操作系统下的MySQL存在默认配置多个漏洞

发布日期:2002-08-19
更新日期:2002-08-23

受影响系统:
MySQL AB MySQL 3.23.9
MySQL AB MySQL 3.23.8
MySQL AB MySQL 3.23.52
MySQL AB MySQL 3.23.51
MySQL AB MySQL 3.23.50
MySQL AB MySQL 3.23.5
MySQL AB MySQL 3.23.49
MySQL AB MySQL 3.23.48
MySQL AB MySQL 3.23.47
MySQL AB MySQL 3.23.46
MySQL AB MySQL 3.23.45
MySQL AB MySQL 3.23.44
MySQL AB MySQL 3.23.43
MySQL AB MySQL 3.23.42
MySQL AB MySQL 3.23.41
MySQL AB MySQL 3.23.40
MySQL AB MySQL 3.23.4
MySQL AB MySQL 3.23.39
MySQL AB MySQL 3.23.38
MySQL AB MySQL 3.23.37
MySQL AB MySQL 3.23.36
MySQL AB MySQL 3.23.34
MySQL AB MySQL 3.23.31
MySQL AB MySQL 3.23.30
MySQL AB MySQL 3.23.3
MySQL AB MySQL 3.23.29
MySQL AB MySQL 3.23.28 gamma
MySQL AB MySQL 3.23.28
MySQL AB MySQL 3.23.27
MySQL AB MySQL 3.23.26
MySQL AB MySQL 3.23.25
MySQL AB MySQL 3.23.24
MySQL AB MySQL 3.23.23
MySQL AB MySQL 3.23.2
MySQL AB MySQL 3.23.10
MySQL AB MySQL 3.22.32
MySQL AB MySQL 3.22.30
MySQL AB MySQL 3.22.29
MySQL AB MySQL 3.22.28
MySQL AB MySQL 3.22.27
MySQL AB MySQL 3.22.26
    - Microsoft Windows NT 4.0
    - Microsoft Windows 98
    - Microsoft Windows 2000 SP3
描述:
BUGTRAQ  ID: 5513
CVE(CAN) ID: CVE-2002-1923

MySQL是一款开放源代码关系数据库系统,可使用在多种操作系统下,包括Microsoft Windows系统。

MySQL默认配置存在多个问题,远程攻击者可以利用这些漏洞访问数据库,更改数据库操作或者攻击不被记录。

Windows下的MySQL默认配置存在3个问题:

1)默认ROOT空密码问题:

    MySQL允许通过内部数据库系统表'mysql.user'管理用户,这张表包括用户的用户名,密码和主机字段,MySQL默认情况下没有对ROOT帐户设置密码,攻击者可以使用这个帐户无需密码登录。
    
2)非回环地址绑定问题:

    大多数MySQL用户在WEB服务器相同主机上安装运行MySQL数据库,在MySQL配置文件中,其中的'bind-address=127.0.0.1'一行被注释掉的,如果服务器绑定为回环地址中,就只允许运行数据库的主机进行访问,但是由于这一行被注释,所以MySQL数据库运行任意用户从任意主机上登录访问,结合ROOT用户空密码漏洞,就可以以ROOT权限访问数据库。
    
上面两个问题是:

Windows平台默认安装的MySQL的user表是这样的:
mysql> select Host,User,Password,Select_priv,Grant_priv from user;
+-----------+------+----------+-------------+------------+
| Host      | User | Password | Select_priv | Grant_priv |
+-----------+------+----------+-------------+------------+
| localhost | root |          | Y           | Y          |
| %         | root |          | Y           | Y          |
| localhost |      |          | Y           | Y          |
| %         |      |          | N           | N          |
+-----------+------+----------+-------------+------------+

其设置ROOT密码为空,而且主机字段为'%',表示允许可从所有主机进行连接。所以Windows下的MySQL可以以ROOT用户名无需密码从任意主机登录数据库。
    
3)没有日志功能:

    日志是任何软件所必须的一部分,MySQL默认情况下在Windows系统中不进行日志记录,这意味着管理员将不能检测数据库是否被破坏,或者攻击者进行暴力攻击进行帐户猜测,也不会被记录。

<*来源:Mike Bommarito (g0thm0g@attbi.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=102978779419465&w=2
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 1) 给root加口令
mysql> set password for root@localhost=password('password');

* 2) 删除User表里匿名用户和Host字段为%的记录
mysql> delete from user where user='';
mysql> delete from user where host='%';
mysql> flush privileges

* 3) 把配置文件中的'bind-address=127.0.0.1'注释符去掉,然后重新启动MySQL。

* 4) 在my.ini中增加:
log-long-format
log=/path/to/somewhere/log.txt
然后重新启动MySQL。

厂商补丁:

MySQL AB
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.mysql.com/

浏览次数:3970
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障