跳到主要內容
WP 解題所

文章

WordPress 惡意程式怎麼查?保存證據、隔離與乾淨還原

WordPress 惡意程式掃描主題資訊圖

先做這件事

WordPress 惡意程式掃描:不要在沒有備份時連續試錯

惡意程式事件要同時處理檔案、資料庫、帳號、排程、憑證與入侵入口。只刪除一個可疑檔案,攻擊者可能從其他持久化位置回來。

本文聚焦「先封存證據與控制風險,不把掃描外掛的「已刪除」當完成。」。對應的使用情境是:網站出現跳轉、垃圾頁或不明檔案,想安全處理。。排查時請保存每一步的時間、畫面與日誌差異,才能把同時發生但無關的變更排除。

排查原則:先保存錯誤與現況,再從低風險、可回復的檢查開始;一次只改一個變因。

問題症狀

  • 陌生重新導向或垃圾搜尋頁
  • 不明管理者帳號與排程
  • 核心檔案雜湊不一致

把「整站、單頁、單一帳號、特定裝置」分開測試。受影響範圍越清楚,越能避免不必要地停用正常元件。

可能原因

  1. 01過期外掛或弱密碼遭利用。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
  2. 02憑證外洩。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
  3. 03共用主機或部署流程受污染。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
WordPress 惡意程式掃描重點與步驟說明圖
WordPress 惡意程式掃描的操作重點、檢查順序與注意事項示意。圖片由本站依本文內容原創製作。

修改前備份

先做只讀事件快照,保存檔案時間、日誌、資料庫、帳號清單與 DNS;不要讓一般備份輪替覆蓋事故證據。

若網站仍持續接收表單或訂單,先記錄備份時間與之後的新資料;整庫還原可能覆蓋這段期間的內容。

由低風險到高風險的排查順序

  1. 1. 限制對外風險並保存時間線
    這一步保持唯讀或可快速回復,先蒐集證據再改設定。
  2. 2. 從乾淨設備撤銷與更換憑證
    這一步保持唯讀或可快速回復,先蒐集證據再改設定。
  3. 3. 比較核心與官方乾淨檔案
    每完成一步就重測同一個最小重現,確認問題是否改變。
  4. 4. 檢查上傳目錄、排程、使用者與資料庫注入
    每完成一步就重測同一個最小重現,確認問題是否改變。
  5. 5. 以乾淨來源重建並修補入口
    只把已在測試環境通過的最小變更套用到正式站,並立刻跑回歸測試。

每個變更都記錄檔案、設定、時間、執行者與預期結果;實際結果不同時立即回退,不把未知狀態留到下一步。

如何確認修復成功

多次掃描無已知惡意項目,帳號與排程正常,外部黑名單/搜尋結果逐步恢復,日誌無再入侵跡象。

  • 以原本的最小重現步驟再次測試。
  • 檢查首頁、登入、REST API、表單與網站最重要的交易流程。
  • 查看 PHP error log、瀏覽器 Console 與 Network 是否新增錯誤。
  • 以 390px 手機寬度確認沒有版面級橫向溢位。

把症狀與證據對成一條排查路徑

目前看到的症狀 先驗證的原因 最小安全動作
陌生重新導向或垃圾搜尋頁 過期外掛或弱密碼遭利用 限制對外風險並保存時間線
不明管理者帳號與排程 憑證外洩 從乾淨設備撤銷與更換憑證
核心檔案雜湊不一致 共用主機或部署流程受污染 比較核心與官方乾淨檔案

這張表不是用來直接判定根因,而是把「看到什麼、要查什麼、哪個動作可回復」放在同一列。若第一列的證據不成立,就不要跳到高風險修改。

如何還原

不要把事故前未知感染狀態直接覆蓋回正式站;僅還原經掃描且日期可信的乾淨備份。

保留失敗版本與日誌供比較,不要在回退時刪除所有證據;但任何憑證與個資必須安全遮蔽。

何時應停止自行操作

若涉及個資、付款、勒索、跨站感染或無法確定入侵時間,應立即交由資安與法律/通報專業處理。

停止不是放棄,而是避免把可復原的錯誤變成停機、資料損失或資安事件。準備好時間線、備份、錯誤日誌與已嘗試步驟,能顯著縮短專業人員的診斷時間。

常見問題

可以直接在正式站測試嗎?

不建議。先備份並在測試環境重現,正式站只套用已驗證的最小變更。

需要關閉所有外掛嗎?

不應在沒有計畫時一次關閉。先保存清單,再用隔離或健康檢查方式逐步排除。

修好後要做什麼?

清除必要快取、重測主要流程、保存變更紀錄並確認監控沒有新錯誤。

官方文件與查核來源

以下文件用於核對 WordPress、WooCommerce、PHP 或資料庫行為。第三方外掛與主機設定仍需查閱該產品當前版本的正式文件。