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是一款开放源代码关系数据库系统,可使用在多种操作系统下,包括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系统中不进行日志记录,这意味着管理员将不能检测数据库是否被破坏,或者攻击者进行暴力攻击进行帐户猜测,也不会被记录。