許多Windows NT/2000主機同時安裝MySQL與PHP。MySQL預設root帳號無密碼,若管理員未修改,或因IIS漏洞導致原始碼洩露暴露資料庫憑證,攻擊者即可透過MySQL取得主機權限。本文揭露攻擊鏈條,並提供防禦建議。
SELECT ... INTO OUTFILE將Web Shell寫入Web目錄。PHP.sql腳本,內容包含:建立暫存表 → 寫入PHP Web Shell程式碼 → SELECT * INTO OUTFILE 'd:\\new\\cmd2.php'輸出至Web目錄 → 刪除暫存表。mysql -h target_ip -u root < PHP.sql。https://target_ip/cmd2.php,獲得Guest權限的命令執行介面。關鍵限制:若cmd2.php已存在,INTO OUTFILE會失敗(MySQL禁止覆蓋既有檔案)。
.bak備份檔洩露風險)。INTO OUTFILE或限制FILE權限:僅授予必要帳號。--skip-grant-tables。此攻擊鏈條經典展示了「資料庫誤配置 + 檔案寫入權限過度 + Web目錄執行權限」三重缺陷疊加的災難性後果。纏深防禦需同時封堵每一環。