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

MySQL 5.0 觸發器後門攻擊原理與防範

     編輯:MySQL 資料庫相關知識

⚠️ 安全警示

本文僅供防禦研究與安全教育,嚴禁用於非授權滲透測試或惡意用途。

攻擊原理

MySQL 5.0 引入觸發器功能,若攻擊者擁有 TRIGGER 與 FILE 權限,可建立惡意觸發器,在特定表操作(如管理員登入更新)時,利用 SELECT ... INTO OUTFILE 寫入 Webshell 或啟動項:

CREATE TRIGGER Ha0K AFTER UPDATE ON admin
FOR EACH ROW
SELECT '' INTO OUTFILE '/var/www/html/shell.php';

觸發條件

  • 目標表發生 UPDATE(如修改密碼、狀態)。
  • MySQL 服務進程對目標路徑有寫入權限。
  • secure_file_priv 未限制或路徑在允許目錄內。

防禦措施

  1. 最小權限: 應用帳號嚴禁 TRIGGER、FILE、SUPER 權限。
  2. 啟用 secure_file_priv: my.cnf 設定 secure_file_priv=/tmp/ 限制導出目錄,或設為 NULL 完全禁用。
  3. 審計觸發器: 定期查詢 INFORMATION_SCHEMA.TRIGGERS 發現異常物件。
  4. 檔案系統保護: Web 目錄掛載 noexec、nosuid,禁止 PHP 執行上傳目錄腳本。
  5. WAF/IDS 監控: 偵測 INTO OUTFILE/INTO DUMPFILE 異常流量。

現代 MySQL 版本改進

  • 5.6+ secure_file_priv 預設限制。
  • 8.0 引入 TRIGGER 權限獨立管控、資料字典鎖定 DDL。
  • 建議升級至 8.0+ 並啟用 audit_log 記錄所有 DDL/DML。

資料庫層面的後門往往隱蔽性極高,防禦核心在於「權限最小化」與「檔案寫入路徑隔離」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved