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

透過MySQL滲透Windows NT/2000伺服器的攻擊手法與防禦對策

     編輯:MySQL 資料庫相關知識

許多Windows NT/2000主機同時安裝MySQL與PHP。MySQL預設root帳號無密碼,若管理員未修改,或因IIS漏洞導致原始碼洩露暴露資料庫憑證,攻擊者即可透過MySQL取得主機權限。本文揭露攻擊鏈條,並提供防禦建議。

攻擊前提與思路

  • Windows版MySQL預設允許遠端連線(Linux預設僅本地)。
  • 取得資料庫密碼後,利用SELECT ... INTO OUTFILE將Web Shell寫入Web目錄。
  • 目標主機通常運行IIS,支援ASP/PHP腳本執行。

實戰攻擊步驟

  1. 攻擊者準備PHP.sql腳本,內容包含:建立暫存表 → 寫入PHP Web Shell程式碼 → SELECT * INTO OUTFILE 'd:\\new\\cmd2.php'輸出至Web目錄 → 刪除暫存表。
  2. 以MySQL客戶端遠端執行:mysql -h target_ip -u root < PHP.sql。
  3. 瀏覽器訪問https://target_ip/cmd2.php,獲得Guest權限的命令執行介面。
  4. 進一步上傳FTP腳本、提權工具,擴大控制範圍。

關鍵限制:若cmd2.php已存在,INTO OUTFILE會失敗(MySQL禁止覆蓋既有檔案)。

核心防禦建議

  1. 強制設定高強度MySQL root密碼,拒絕空密碼。
  2. 修補IIS漏洞,防止原始碼洩露(含.bak備份檔洩露風險)。
  3. 避免直接在Web目錄編輯腳本,編輯器產生的備份檔可能被直接下載。
  4. 停用INTO OUTFILE或限制FILE權限:僅授予必要帳號。
  5. MySQL以最低權限帳號運行,禁用--skip-grant-tables。

此攻擊鏈條經典展示了「資料庫誤配置 + 檔案寫入權限過度 + Web目錄執行權限」三重缺陷疊加的災難性後果。纏深防禦需同時封堵每一環。

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