WordPress 被駭後加固清單:清帳號、改密碼、洗 Salt、更新外掛一次搞定

這篇需要 SSH 操作

這篇文章的操作需要透過 SSH 連進伺服器執行。還不熟悉 SSH?請先看SSH 連線教學。

惡意檔案清了,核心重裝了。但到這裡停手的話,幾天後很可能又被打回來。

攻擊者可能還持有有效 session、知道你的資料庫密碼、或是從沒更新的舊版外掛重新進來。這一步要做的是斷掉他所有的存取管道,然後把被打穿的入口補起來。


清資料庫裡的殘留

刪假帳號

掃描階段找到的可疑管理員,用 --reassign 把內容轉移到正常帳號再刪:

wp user delete ID1 ID2 ID3 --reassign=正常帳號ID --allow-root

重設密碼

wp user update ID --user_pass='新的亂數密碼' --allow-root

密碼用密碼管理器產,至少 16 字元。WP-CLI 改完可能跳 PHPMailer 錯誤(伺服器沒設 SMTP),不影響密碼更新,看到 Success: Updated user 就是改成功了。

撤銷應用程式密碼

wp db query "DELETE FROM wp_usermeta WHERE meta_key = '_application_passwords'" --allow-root

這會刪掉所有人的應用程式密碼,包括你自己的。有在用的話之後重新產生就好。

刪惡意排程

wp cron event delete HOOK名稱 --allow-root

洗 Salt

wp config shuffle-salts --allow-root

重新產生 wp-config.php 裡的 8 組 salt 值。所有現有 session cookie 立刻失效,包括攻擊者的。所有人都要用新密碼重新登入。

三件套缺一不可

只改密碼 → 攻擊者用應用程式密碼或舊 session 照樣進

只洗 salt → 攻擊者用偷到的密碼重新登入

只刪帳號 → 正常帳號上建的應用程式密碼還在

清帳號 + 改密碼 + 洗 salt,三個一起做才斷得乾淨。


重啟 PHP-FPM 驗證

systemctl restart php81rc-fpm

PHP 版本不同指令也不同(php82rc-fpm、php83rc-fpm)。瀏覽器打開前台,網址後面加 ?nocache=test123 繞快取確認正常。


收尾加固

關後台檔案編輯器

在 wp-config.php 加:

define('DISALLOW_FILE_EDIT', true);

萬一攻擊者拿到管理員帳號,至少不能直接在後台改程式碼。

改 DB 密碼

攻擊者讀過 wp-config.php 的話,你的 DB 密碼就洩漏了。到主機面板改資料庫密碼,改完同步更新 wp-config.php 的 DB_PASSWORD。

更新外掛

很多入侵的根源是外掛漏洞。付費外掛要從官方重新下載最新版,不能從後台自動更新。授權過期的商業外掛收不到安全更新,要嘛續約要嘛換掉。WordPress.org 上標「此外掛已關閉」的,找替代品。

安全掃描 + 清快取

有裝 Wordfence 的話跑一次完整掃描:

wp wordfence scan --allow-root

然後清快取,確保訪客不會從快取看到殘留的惡意內容:

wp rocket clean --confirm --allow-root 2>/dev/null
wp cache flush --allow-root

幾個提醒

補漏洞才是斷根。清理做得再乾淨,入口還在的話攻擊者一週後照樣從同一個洞打進來。清完第一件事是搞清楚他從哪進來的,把那個洞補起來。

網站有收集個資的話(表單、會員、電商),被駭後可能需要通知受影響的使用者。這不只是技術問題,也是法規的問題。

被駭過一次之後,最低限度:設定每天自動備份(存到另一台機器)、裝安全外掛做基本監控、定期更新外掛和核心。

貼給你的 AI 用

惡意檔案清完了,要做加固收尾?把下面這段貼給 ChatGPT 或 Claude:

我的 WordPress 被駭後已經清完惡意檔案並重裝核心。現在要做加固收尾。我已經 SSH 進伺服器。

我的環境:
- 網站路徑:[填入]
- PHP 版本:[填入,例如 8.1]
- 主機面板:[填入,例如 RunCloud / cPanel]

請引導我按順序操作,每一步等我回報再繼續:
1. 刪除可疑管理員帳號(我貼帳號清單給你判斷)
2. 重設所有管理員密碼
3. 撤銷所有應用程式密碼
4. 刪除惡意 WP-Cron 排程
5. 洗 Salt(shuffle-salts)
6. 重啟 PHP-FPM 並驗證前台
7. 在 wp-config.php 加 DISALLOW_FILE_EDIT
8. 引導我到主機面板改資料庫密碼並同步 wp-config.php
9. 檢查外掛更新狀態

SSH 操作注意事項

SSH 指令送出去就是送出去了,沒有 Ctrl+Z。操作前請注意:

  • AI 給的指令,跑之前自己看一遍,確認路徑和檔名是對的再按 Enter。
  • 不要整段複製貼上一口氣跑完。一次一個指令,看到結果再下一步。
  • 刪除和覆蓋操作不可逆。備份沒做完之前,不要動任何清除步驟。
  • 不確定的時候就停下來問。問 AI、問主機商、問會的朋友,都比直接跑好。

SSH 基礎教學請看這篇。

搞不定?讓專人處理

WP 中毒救援 $5,500 起 | 外掛衝突排查含版面復原 $4,000 起

了解服務方案 →

文章分享