Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Web 伺服器五大經典入侵手法:SQL 注入、上傳繞過、資料庫備份還原、旁站攻擊、sa 提權完整解析

編輯:系統常見問題解答

駭客入侵 Web 伺服器常用五大經典路徑,理解原理才能建立有效防禦:

1. SQL Injection (SQLi) → 取得管理帳密 → 後台上傳 WebShell

  • 目標:ASP/PHP/JSP + Access/MSSQL/MySQL,參數未參數化。
  • 流程:
    1. 尋找注入點 (報錯/盲注/時間盲注)
    2. 列舉資料庫結構、導出 admin 表帳密雜湊
    3. 破解雜湊 (彩虹表/GPU 破解) 或直接利用已知弱密碼
    4. 猜測後台路徑 (/admin, /manage, /cms, /backend)
    5. 登入後台 → 尋找上傳功能 → 上傳 .asp/.php/.jsp WebShell
    6. 連線 WebShell (菜刀/蟻劍/Godzilla/Behinder) → 完全控制
  • 防禦:參數化查詢/ORM、WAF (ModSecurity CRS)、後台強制 MFA、上傳目錄禁用執行權限、檔案型態驗證 (Magic Bytes/MIME)、隨機化後台路徑。

2. 檔案上傳繞過 → 直接植入 WebShell

  • 繞過技術:
    • 副檔名大小寫混淆 (.Asp, .pHp)
    • 雙重副檔名 (shell.asp.jpg)
    • .htaccess / web.config 重寫規則 (AddType application/x-httpd-php .jpg)
    • Content-Type 偽造 (image/jpeg 實為 PHP)
    • Magic Bytes 偽造 (GIF89a 頭 + PHP 代碼)
    • 解析漏洞 (IIS 6.0 .asp;.jpg, Nginx .php.xxx, Apache AddHandler)
    • 競態條件 (TOCTOU:上傳 → 重命名 → 執行)
  • 防禦:
    1. 上傳目錄獨立網域/子網域、禁用腳本執行 (IIS: Handler Mappings 移除; Nginx: location ~ \.php$ { deny all; })
    2. 檔名重命名為 UUID + 無副檔名、儲存於非 Web 目錄
    3. 伺服器端驗證 Magic Bytes (file 命令/libmagic)、圖片重壓縮 (ImageMagick/GD 破壞殘留代碼)
    4. WAF 規則攔截雙重副檔名、異常 Content-Type

3. 後台資料庫備份/還原功能濫用 → 寫入 WebShell

  • 原理:後台備份功能允許指定備份路徑/檔名,未過濾路徑遍歷 (../) 或副檔名。
    攻擊者上傳 shell.asp.jpg → 呼叫還原功能將 shell.asp.jpg 還原為 shell.asp 至 Web 目錄。
  • 防禦:
    • 移除/停用前台備份還原功能,改由離線排程執行
    • 路徑參數白名單驗證、禁用 ..、限制副檔名
    • 備份檔案儲存於非 Web 可存取路徑

4. 旁站攻擊 → 橫向移動至目標站點

  • 流程:
    1. 反查同 IP 虛擬主機 (Bing ip:xxx.xxx.xxx.xxx、Censys、Shodan、FOFA)
    2. 找出同伺服器弱點站點 (舊版 CMS、未修補插件、測試頁面)
    3. 攻破弱點站點取得 WebShell/系統權限
    4. 利用檔案系統權限讀寫目標站點目錄、竊取設定檔、植入後門
  • 防禦:
    • 站點隔離:不同站點使用不同系統帳號、PHP-FPM Pool、容器/VM 隔離
    • open_basedir / disable_functions 限制跨目錄存取
    • 定期掃描同 IP 站點漏洞、統一修補週期

5. sa (sysadmin) 權限 SQL 注入 → 系統級提權

  • 前提:MSSQL 連線帳號為 sa、啟用 xp_cmdshell、防火牆開放 3389/445。
  • 流程:
    1. 尋找 sa 權限注入點
    2. EXEC sp_configure 'show advanced options',1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell',1; RECONFIGURE;
    3. EXEC xp_cmdshell 'net user hacker P@ssw0rd /add && net localgroup administrators hacker /add'
    4. RDP 3389 登入系統、或反向 Shell (nc/powershell) 連回攻擊者 C2
  • 防禦:
    • 嚴禁 Web 應用使用 sa 連線,最小權限原則 (db_datareader/db_datawriter)
    • 永久停用 xp_cmdshell (sp_configure 'xp_cmdshell', 0)
    • 防火牆封鎖 3389/445 對外、僅允許管理網段
    • 啟用 SQL Server 稽核 (登入失敗、權限異動、xp_cmdshell 執行)

防禦總結:四層防線

  1. 程式碼層:參數化查詢、輸入驗證、檔案上傳白名單、錯誤訊息不洩露堆疊。
  2. 伺服器層:WAF、站點隔離、執行權限最小化、模組精簡、定期修補。
  3. 資料庫層:最小權限帳號、停用危險擴展預存程序、稽核、加密敏感欄位。
  4. 網路層:WAF/防火牆/微隔離、僅開必要埠、管理介面限制來源 IP、VPN/堡壘機存取。

駭客只需找到一個洞,防禦者必須堵住所有洞。建立纵深防禦,提高攻擊成本至駭客放棄。

Copyright © Windows教程網 All Rights Reserved