There is no item in your cart
對於企業、外貿品牌或個人工作室而言,WordPress 網站往往承載著多年的內容累積、客戶名單與品牌形象。然而,當某天早上收到客戶反饋:「你們的網站怎麼打開變成賭博網站了?」或「從 Google 搜尋點進去,跳轉到完全不相關的頁面」,很多站長的第一反應是恐慌,認為辛苦經營的網站就此報廢。
事實上,這類「網站掛馬」的情況絕大多數都可以挽救。關鍵在於發現得早、處置得當。本文將以系統性的方式,拆解從緊急止血、徹底清理到長效防護的完整步驟,協助站長在最短時間內恢復網站正常運作,同時建立可持續維護的安全機制,避免類似事件反覆發生。
一、中毒症狀與常見誤判
WordPress 網站被植入惡意程式後,呈現的症狀有時相當隱蔽。許多站長在第一時間檢查時,看到自己電腦上網站一切正常,便誤以為是客戶端的瀏覽器問題。但事實上,許多木馬會根據訪問來源進行條件判斷——只對來自 Google 搜尋、Facebook 廣告、海外 IP、特定瀏覽器或行動裝置的訪客觸發跳轉。這也是為什麼站長在自己電腦上反覆測試都看不到問題,但真實訪客卻被引導到賭博、色情、詐騙等惡意頁面。
常見的中毒症狀包括以下幾類:
- 搜尋結果異常:網站標題或描述在 Google 搜尋中被竄改為「線上博彩」、「免費成人影片」等關鍵字。
- 條件式跳轉:從搜尋引擎或外部廣告點入時,自動跳轉至完全無關的網站。
- 首頁內容被替換:首頁標題、圖片、文字被置換為博彩相關內容,但後台管理仍可正常登入。
- 瀏覽器封鎖警告:Chrome、Firefox 等瀏覽器主動顯示「釣魚網站」或「惡意程式」紅色警告頁。
- 效能異常下降:網站載入速度明顯變慢,主機資源使用率異常飆升。
若出現上述任何一項,便應立即啟動以下搶救流程。
二、步驟一:立即完整備份
在進行任何修復動作之前,第一件事永遠是保留現狀。即使網站當下處於被入侵狀態,這份「受感染的備份」對後續分析攻擊向量、理解入侵範圍都具有關鍵價值。許多站長急於恢復正常而直接覆蓋檔案,導致事後無法追溯漏洞來源,相同問題便會反覆發生。
備份應同時包含兩個層面:
- 網站檔案:透過 FTP、SSH 或主機控制台的檔案管理員,將整個 WordPress 目錄打包下載。建議保留壓縮檔案(zip / tar.gz)以便日後離線分析。
- 資料庫:透過 phpMyAdmin 或主機後台的資料庫工具,匯出完整的 SQL 檔案。資料庫中可能藏有惡意管理員帳號、注入的 JavaScript 腳本或被竄改的文章內容。
備份完成後,請將檔案儲存於獨立的裝置或雲端硬碟,避免直接覆蓋回原網站目錄。
三、步驟二:核心檔案排查
WordPress 網站被入侵後,惡意程式碼最常出現的位置便是核心檔案。其中 `wp-config.php`、`functions.php`、`header.php` 三個檔案由於會在每一次請求時被載入,往往成為木馬植入的首選位置。
排查時應特別留意以下幾種特徵:
- base64 編碼字串:如 `eval(base64_decode(“…”))` 這類語句,幾乎可以確定是惡意程式碼。正常的 WordPress 不會出現這類結構。
- 可疑的 PHP 函數呼叫:例如 `eval()`、`assert()`、`system()`、`passthru()`、`shell_exec()` 等危險函數,正常主題與插件極少使用。
- 陌生的全域變數與函數:例如 `$GLOBALS` 開頭的注入、`$_REQUEST[‘xxx’]` 接收未經驗證的外部參數。
- 無法對應原始版本的程式碼:可至 WordPress 官方網站下載同版本的乾淨核心,逐一比對差異。
若您並非技術背景出身,最安全的方式是直接以乾淨版本的核心檔案覆蓋 `wp-admin` 與 `wp-includes` 目錄——這兩個目錄不應被主題或插件修改,覆蓋後通常可立即恢復核心完整性。
四、步驟三:uploads 目錄掃描
WordPress 的媒體上傳目錄(預設為 `/wp-content/uploads/`)依其設計,理論上只應存放圖片、影片、PDF 等媒體檔案。但許多攻擊者會利用插件或主題的上傳漏洞,將 PHP 後門檔案藏匿於此目錄中,並透過精心挑選的副檔名(如 `xxx.jpg.php`)或偽裝成 `.htaccess` 檔案來隱蔽自身。
排查 uploads 目錄時,可採取以下做法:
- 列出所有檔案,檢查是否存在非媒體類型的檔案,尤其是 `.php`、`.phtml`、`.php5`、`.phar` 等可執行檔。
- 檢查檔案的修改時間,若大量媒體檔案同時被修改,往往代表有批次植入行為。
- 檢查 `.htaccess` 是否被竄改,原生 WordPress 的 uploads 目錄不應有獨立的 `.htaccess`(除非您刻意設定)。
- 使用伺服器端指令(如 `find`)快速列出可疑檔案:
find /path/to/uploads -type f -name "*.php" -o -name "*.phtml"
發現陌生 PHP 檔案後,請先複製一份保留為證據,再予以刪除。這些檔案往往是分析攻擊來源的關鍵線索。
五、步驟四:全面更新核心、佈景主題與插件
WordPress 社群每年都會修復數十個已知漏洞,而大多數成功入侵事件的根本原因,正是使用了過舊版本的核心、主題或插件。許多站長在初次架站後便鮮少更新,給了攻擊者可乘之機。
更新時應注意以下原則:
- 先在測試環境驗證:若您的網站流量較大或涉及交易功能,建議先於 staging 環境完成更新測試,再於正式環境執行。
- 完整更新所有項目:包括 WordPress 核心、所有已啟用插件、所有已啟用主題。即使主題未啟用,亦建議同步更新,以避免將來切換時引入漏洞。
- 移除不再使用的插件與主題:未啟用的插件與主題同樣存在被攻擊的風險,建議直接從伺服器刪除。
- 更換已停止維護的插件:若某插件超過一年未更新,建議評估替代方案,避免將來成為攻擊突破口。
更新完成後,可至 WordPress 後台的「網站健康狀態」(Site Health)頁面檢查所有項目是否已通過。
六、步驟五:全面修改密碼
許多站長在清除木馬後便以為一切結束,卻忽略了攻擊者可能仍持有您各個系統的登入憑證。若不全面更換密碼,即使木馬被清除,攻擊者仍可透過合法登入再次植入惡意程式。
需要立即更換的憑證包括:
- WordPress 管理員帳號:包括 admin、editor 等所有具備後台登入權限的帳號。建議改用強密碼(至少 16 字元,包含大小寫、數字與符號)。
- 資料庫帳號密碼:`wp-config.php` 中的資料庫帳號密碼同樣需要更新,並同步修改資料庫伺服器上的使用者權限。
- FTP / SFTP 帳號:若攻擊者已透過 FTP 植入木馬,必須立即停用舊帳號並建立新帳號。
- 主機控制台:如 cPanel、Plesk、Cloudways 等主機管理後台的登入密碼。
- SSH 金鑰:若使用 SSH 登入伺服器,建議撤銷舊金鑰並重新生成新金鑰對。
此外,建議為 WordPress 管理員帳號啟用雙因素認證(2FA),常見做法是搭配 Google Authenticator、Authy 等 TOTP 應用程式,大幅降低帳號被盜用的風險。
七、步驟六:使用安全掃描插件深度檢測
手動排查固然重要,但面對日益複雜的攻擊手法,仍建議搭配專業的安全掃描插件進行深度檢測。市場上最廣為人知的兩款插件分別是 Wordfence Security 與 Solid Security(前 iThemes Security),兩者皆提供完整的惡意程式掃描、檔案完整性監控、登入防護等功能。
使用安全掃描插件時,應特別注意以下幾點:
- 執行完整掃描而非快速掃描,完整掃描會逐一比對 WordPress 核心檔案的校驗和,識別被竄改的部分。
- 將掃描結果中的每一個嚴重問題逐一處理,而非僅清除部分已知檔案。
- 啟用即時監控模式,讓插件在背景持續比對檔案變更,第一時間告警可疑行為。
- 保留掃描記錄與報告,這些資料對日後分析攻擊趨勢、優化防護策略都有價值。
若掃描結果中仍有大量惡意程式碼殘留,建議考慮請專業的 WordPress 維護團隊介入處理,避免自行操作造成更大損害。
八、步驟七:清理後門與竊改內容
完成前述步驟後,需要針對已被植入的惡意內容進行最終清理。這個步驟的核心原則是「寧可重建,不可殘留」——任何一個未被發現的後門,都可能讓攻擊者在幾天後捲土重來。
具體清理工作包括:
- 刪除所有陌生檔案:包括核心目錄、主題目錄、插件目錄中的可疑檔案。
- 重置所有管理員帳號:刪除陌生的管理員帳號(許多攻擊者會為自己建立帳號),將既有管理員帳號的密碼強制更新。
- 清理資料庫中的惡意內容:包括被注入到文章內容、選項(options)表、使用者 meta 中的惡意腳本。
- 重新生成安全金鑰(Secret Keys):`wp-config.php` 中的 `AUTH_KEY`、`SECURE_AUTH_KEY` 等八組安全金鑰必須重新生成,強制所有現有 session 失效。
- 檢查 .htaccess 與 wp-config.php:這兩個檔案常被加入重新導向規則,務必比對乾淨版本。
若您並非深度熟悉 WordPress 架構,建議在這個階段委託專業團隊執行。TAN-studio 提供網站急救服務,可在 24 小時內完成完整清理並交付修復報告。
九、步驟八:提交搜尋引擎復審
清理完成並確認網站恢復正常後,最後一步是處理搜尋引擎的負面標記。若您的網站已被 Google 標記為「這個網站可能已被入侵」或「這個網站可能會損害您的電腦」,即便技術上已修復完畢,仍需主動提交復審申請,才能讓搜尋引擎恢復正常排名。
具體流程如下:
- 登入 Google Search Console,於「安全性與手動處理」頁面查看是否存在安全問題警示。
- 確認所有問題皆已修復後,點點「申請審核」按鈕。
- 於申請說明中詳細描述已採取的修復措施(如刪除惡意檔案、更新所有插件、強化登入安全等),有助於加速審核通過。
- 等待 Google 審核,通常需要數天至一週的時間。
審核通過後,搜尋結果中的紅色警告將被移除,網站的 SEO 排名亦會逐步恢復。在等待審核期間,建議持續更新網站內容並維持正常的發佈節奏,向 Google 表明網站已完全恢復正常。
十、長效防護:三個關鍵習慣
網站被掛馬並不可怕,可怕的是長期未被發現。特別是針對外貿獨立站與企業官網,一旦跳轉到惡意網站,不僅會嚴重影響 SEO 排名,更可能導致客戶流失、品牌信任崩塌。因此,建立可持續執行的安全維護習慣,遠比單次修復更為重要。
以下三個習慣,是業界公認可避免 90% 以上安全問題的核心做法:
- 定期更新:啟用 WordPress 核心與插件的自動更新機制,每月檢查一次版本狀態,移除已停止維護的插件。
- 定期備份:設定每日自動備份至異地(如 AWS S3、Google Drive),保留至少 30 天的歷史備份。每月執行一次還原演練,確保備份在緊急時刻真的可用。
- 定期掃描:透過 Wordfence 或 Solid Security 設定每週排程掃描,啟用異常登入與檔案變更的即時告警。
除了上述三項基礎習慣,亦建議為網站部署 Cloudflare 等 CDN 服務,其內建 WAF(Web Application Firewall)可阻擋大部分自動化攻擊;同時為 WordPress 後台啟用雙因素認證、限制登入嘗試次數、將後台路徑自訂化,這些都是簡單卻有效的縱深防禦措施。
十一、TAN-studio 結語
WordPress 網站的安全維護,從來不是一次性的工程,而是一個持續運行的過程。它需要技術、流程與制度三個層面的配合:技術上要有合適的防護工具與自動化機制;流程上要有定期更新、備份、掃描的 SOP;制度上則要明確誰負責、出了問題如何在最短時間內回應。
TAN-studio 自 2009 年起,便專注於為香港及大中華區的品牌方提供從 WordPress 網站建置、網店系統到到長效維護與資安防護的一站式數碼解決方案。我們深知「網站中毒」對企業的衝擊往往是巨大的——不只是技術層面的修復,更涉及客戶信任、品牌形象與營收損失。因此,我們提供網站急救、定期維護、資安加固等服務,協助企業在遭遇攻擊時能快速恢復、在日常運營中能防患於未然。
如果您正面臨網站中毒的緊急狀況,或希望為現有網站建立更完善的長效防護機制,歡迎透過 tan-studio.net 與我們聯繫。TAN-studio 將根據您的網站規模、業務特性與風險承受度,為您量身定制最合適的安全維護方案。
