如果你的 WordPress 網站被駭,現在正顯示醫藥垃圾內容、把訪客轉到某個不堪的地方,或者被 Google 標記為詐騙網站,請從這裡開始,而不是從一個外掛開始。人的第一反應是裝一個資安掃描器然後按清理。那樣做去掉的是看得見的症狀,留下的是進來的路,這也是為什麼那麼多網站幾天之內就再次被感染,而站長最後得出結論:WordPress 本來就不安全。
並不是。幾乎每一次入侵都是透過一個過期外掛進來的,而幾乎每一次清理失敗,都是因為有人清掉了惡意軟體,卻沒有清掉存取權限。
第一個小時: 把網站下線或切到維護模式。更換主機控制台密碼、資料庫密碼、所有管理員密碼,以及 FTP 或 SSH 憑證。先不要還原備份,也先不要刪除任何東西。你需要現在這個狀態才能弄清他們是怎麼進來的,而一次還原會毀掉這些證據,還極可能把同一個漏洞原樣裝回去。
第一個小時該做什麼
這裡順序很重要,而常見的錯誤都源於急躁。
先把網站停掉。一個維護頁面,或者在主機或 CDN 層面暫時攔截,能保護訪客,也能在你處理期間阻止網站繼續散布惡意軟體。如果網站正在提供惡意轉址,它每多開一個小時,商譽損失就多疊一層。
接著輪換每一份憑證,而不只是 WordPress 管理員密碼。這包括主機控制台、資料庫使用者、FTP 與 SSH 金鑰,以及站台設定檔裡保存的任何 API 金鑰。攻擊者慣常會再建一個管理員帳號,或者留下一把鑰匙,所以只改一個密碼等於什麼都沒做。
在改動任何東西之前先保全證據。把檔案和資料庫按現狀完整複製一份,並把至少最近三十天的伺服器存取記錄下載下來。找到入口靠的就是這些記錄,而很多主機商幾天之內就會把舊記錄輪替掉。
然後,也只有到這時,才開始還原到底發生了什麼。
你的 WordPress 網站是怎麼被駭的:找出入口
不做診斷就清理,正是再次感染如此普遍的原因。下面四項檢查在多數情況下能找出原因。
把外掛和佈景主題版本與已知漏洞對照。 過期外掛是遙遙領先的頭號原因。記下每一個外掛、它的版本,以及是否存在你尚未套用的資安更新。要特別留意授權已過期的東西,因為付費外掛在授權失效後就停止接收更新,介面上卻仍然顯示為已安裝並已啟用。
讀一讀問題最初出現前後的存取記錄。 你要找的是發往異常路徑的 POST 請求、對本不該存在的檔案的請求,以及在頁面被竄改之前從某個位址集中出現的一陣活動。答案通常就在這裡。
尋找不該出現在那裡的檔案。 上傳目錄裡最近被修改過的 PHP 檔案是一個很強的訊號,因為那裡本來就不該執行任何東西。取名刻意顯得合理的檔案,以及對設定檔和伺服器控制檔的改動,同樣值得懷疑。
檢查新增的管理員帳號和排程工作。 攻擊者常常建立一個供自己回來的使用者,並註冊一個在你清理之後重新裝回酬載的排程工作。一個按固定週期反覆被感染的網站,幾乎一定有一個沒人去找過的排程工作。
為什麼「還原備份就好」通常行不通
這是每個人最先收到的建議,而它大約三次裡有一次是對的。
還原奏效的前提是:你知道被入侵的日期、有一份在那之前的備份,並且已經找出並修好了漏洞。三者缺一,它的失敗方式是可以預料的。你還原上週的備份,可能還原的是一個兩週前就已經被入侵、只是一直安靜著的網站。你在沒有修補易受攻擊外掛的情況下還原,等於把那扇把你鎖在外面的門又重新造了一遍。
還有一個問題是還原讓你付出什麼。對一家商店或一個會員網站來說,回滾意味著丟掉備份之後的每一筆訂單、每一次註冊和每一則留言。這往往無法接受,於是你被推向清理線上站台,而不是替換它。
可靠的做法是重建而不是還原。全新安裝 WordPress 核心,從官方來源而不是從被入侵的站台取得每一個外掛和佈景主題的乾淨副本,只把上傳目錄和資料庫帶過去,而且兩者都要先檢查。這樣才能保證會被執行的程式碼是乾淨的,而逐個檔案清理永遠達不到這種確定性。
清理資料庫
資料庫正是不徹底的清理會留下東西的地方,因為掃描器把注意力放在檔案上。
被注入的內容通常出現在文章內文裡,表現為隱藏連結或內嵌框架;出現在存放轉址腳本的選項資料表裡;也出現在使用者中繼資料中。請在內容資料表和選項資料表裡搜尋指令碼標籤、經過編碼的區塊以及陌生網域。
用手動的方式檢查使用者資料表。看一遍每一個擁有管理員權限的帳號,確認你認得其中每一個,然後把註冊日期與你自己的紀錄對上。
也要看排程工作,在 WordPress 裡它們存放在選項資料表中。一筆指向你不認識的函式的紀錄,正是一個網站在檔案被清理很久之後仍然按時自我感染的機制。
對任何經過編碼的東西要格外小心。攻擊者刻意混淆酬載,就是為了讓一次直白的字串搜尋錯過它,所以對可疑內容要解碼來看,而不要想當然地以為那是某個正規外掛在做聰明事。
解除標記與恢復搜尋排名
清理完網站還沒有結束,因為在你請求複審之前,警告會一直掛在那裡。
如果 Google 標記了你的網站,Search Console 裡的資安問題報告會告訴你它偵測到了什麼,並允許你在修復之後申請複審。只有在網站真正乾淨之後再申請,因為一次未通過的複審會拉長整個流程。
還要查一下網域有沒有落進瀏覽器和郵件服務商使用的封鎖名單。僅僅變乾淨是不夠的,因為每一家都維護自己的名單和自己的移除流程。
然後再看損失。警告解除之後搜尋能見度通常會回來,但一個連續幾週提供垃圾頁面的網站,那些頁面可能已經被收錄。請檢查有沒有從來不屬於你的網址被收錄,把它們清掉,並確認乾淨的版本正在被抓取。我們的網站資安稽核指南 更詳細地講了驗證步驟。
專業復原要花多少錢
下面的價格反映英國的典型行情,並隨入侵被忽略的時間長短而變化。
一個小站台被及時發現、原因明確的直接清理,一般在 400 到 1,200 英鎊之間,需要一到兩天。有人在一週之內注意到,通常就是這種情況。
一次完整的事件應變,包括為確定入口和時間軸所做的記錄分析、乾淨重建、資料庫檢查、憑證輪換、強化以及從封鎖名單移除,通常在 1,500 到 5,000 英鎊之間。這是一家商店或一個持有客戶資料的網站應當預期的等級,因為你還需要判斷資料是否被存取過。
被入侵長達數月的站台,或者同一個帳號下代管多個站台的情況,費用更高,因為共用主機上站台之間的交叉感染很常見,每一個都必須逐一檢查。
如果個人資料可能被存取過,那麼在技術清理之外還有義務。英國 GDPR 要求在知悉一起需通報的資料外洩後 72 小時內通知主管機關,而這個時鐘從知悉的那一刻開始走,不是從清理完成開始走。請盡早取得建議,而不是等你收拾完之後。我們關於 GDPR 技術合規 的文章討論了這件事的工程面。
確保它不再發生
不做強化的復原,只是把時鐘重新撥了一遍。
更新紀律就是全部。絕大多數入侵利用的是已經有修補程式可用的漏洞,所以解法是一套及時套用資安更新的流程,加上一條移除任何無人維護之物的方針。授權已過期的付費外掛應當續期或替換,絕不能原樣留著。
減少可以被執行的東西。上傳目錄裡的任何內容都不應作為 PHP 執行,後台的檔案編輯功能應當關閉,管理員帳號應當很少並且逐一實名。
給每一個管理員帳號加上多因素驗證,並對登入端點做頻率限制。針對憑證的攻擊絕大多數是自動化的,第二因素一旦存在,它們就不再成立。
最後,認真備份並真的測試它。一份你從未還原過的備份只是一個假設。請保留多個世代,因為最新的那一份可能已經包含了這次入侵。我們的 WordPress 安全強化檢查清單 給出了完整設定,而我們的 WordPress 效能稽核指南 講的外掛紀律,會順帶縮小攻擊面。
把它清理乾淨
Mecanik 提供 WordPress 資安稽核 與事件復原服務:確定這次入侵是怎麼發生的,用乾淨重建而不是打補丁蓋過去,檢查資料庫,並強化站台,讓同一條路徑在你身後關上。
我們從伺服器記錄出發,而不是從掃描器的輸出出發,因為掃描器只會告訴你它認得的東西,記錄才會告訴你實際發生了什麼。如果站台處理客戶資料,我們也會直接告訴你,你看起來是否面臨一起需要通報的資料外洩,而不是讓你以後自己發現。持續維護可以透過我們的 WordPress 開發服務 取得,通常比第二次事件便宜。
如果你的網站此刻正被入侵,請把它下線、輪換憑證、保留記錄,然後聯繫我們。
相關文章: API 安全:2026 年如何保護一個公開 API 、為企業主講解 OWASP Top 10 、伺服器安全稽核清單:到底檢查什麼 、2026年英國企業網站安全審計指南 。
常見問題
WordPress 網站被駭之後我該先做什麼? 把網站下線,輪換包括主機、資料庫、FTP 和全部管理員帳號在內的每一份憑證,並保存目前檔案、資料庫與伺服器記錄的副本。先不要還原備份或刪除檔案,因為那會毀掉找出入口所需要的證據。
我的 WordPress 網站為什麼反覆被感染? 幾乎總是因為清理清掉了惡意軟體,卻沒有清掉存取權限。請找一找你不認識的管理員帳號、上傳目錄裡的後門,以及選項資料表裡那些會重新裝回酬載的排程工作。按固定週期反覆感染,通常說明存在一個排程工作。
我可以只靠還原備份來修好被駭的網站嗎? 只有在你知道入侵發生的時間、有一份在那之前的備份、並且已經修好底層漏洞時才可以。三者缺一,你就有可能還原一個早已被入侵的站台,或者把同一個洞重新打開。用全新的核心、外掛和佈景主題做乾淨重建更可靠。
WordPress 惡意軟體清除要多少錢? 一個小站台被及時發現的直接清理通常花費 400 到 1,200 英鎊。包含記錄分析、乾淨重建、資料庫檢查與強化的完整事件應變一般是 1,500 到 5,000 英鎊,長期潛伏或多站台的入侵還要更貴。
怎樣讓 Google 解除對我網站的標記? 先把網站徹底清理乾淨,然後透過 Search Console 的資安問題報告申請複審。只在網站真正乾淨之後再申請,因為一次未通過的複審會拉長流程。瀏覽器和郵件的封鎖名單要單獨檢查,每一家都有自己的移除流程。
評論