2026年11月12日

2026年11月12日

如何檢查 WordPress 外掛漏洞|WP-CLI、WPScan、漏洞資料庫的用法

本文是日文原文的在地化版本。 閱讀日文原文

外掛的漏洞,有時從公開到攻擊開始的時間非常短。基本做法是定期執行這個流程:掌握已安裝的外掛與版本,與已知漏洞比對,有修正版就更新。本文依序說明用 WP-CLI 確認版本、用 WPScan 比對、漏洞資料庫的看法、確認是否遭竄改,以及發現漏洞時的處理方式。指令與費用的條件,是 2026 年 11 月時對照各官方文件所確認的內容。

1. 列出已安裝的外掛與版本

首先要掌握安裝了哪些外掛、各是什麼版本。在後台的「外掛 → 已安裝的外掛」(Plugins → Installed Plugins)也能確認,但使用 WP-CLI 就能把清單儲存下來。

# 顯示名稱・版本・啟用/停用・是否有更新
wp plugin list --fields=name,version,status,update

# 只顯示有更新的外掛
wp plugin list --update=available

# 以 JSON 儲存作為紀錄
wp plugin list --fields=name,version,status --format=json > plugins.json

已停用的外掛也會出現在清單中。即使停用,檔案仍留在伺服器上,有漏洞的檔案可能會被直接存取,所以沒在使用的請刪除。WP-CLI 的基本用法,請見「用 WP-CLI 管理外掛的方法」。

2. 用 WPScan 與已知漏洞比對

WPScan 是從外部檢查 WordPress 網站的命令列工具。漏洞資訊是從 WPScan 的 API 取得的,所以要在 wpscan.com 建立帳號並發行 API 權杖後使用。

依據 WPScan 的費用頁面,免費方案僅限非商業用途,API 的呼叫每天最多 25 次。如果要用在商業網站,則需要付費授權。沒有 API 權杖也能執行,但這時不會顯示漏洞資訊。

# 安裝(以 Ruby 的 gem 安裝時)
gem install wpscan

# 使用 Docker 時
docker pull wpscanteam/wpscan

# 檢查有被回報漏洞的外掛
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp

# 偵測方式同時使用 passive 與 aggressive
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp --plugins-detection mixed

-e 的主要值如下。

值 對象
vp 有被回報漏洞的外掛
ap 所有外掛
p 常用的外掛
vt 有被回報漏洞的佈景主題

外掛的偵測,預設是從頁面的 HTML 等讀取的 passive 方式。HTML 中不會留下痕跡的外掛可能找不到,所以指定 aggressive 或 mixed 可以偵測到更多,但請求的數量也會增加。

可以用 WPScan 檢查的,只限於自己管理的網站,或已取得許可的網站。使用方式的詳細說明,也請參考「用 WPScan 檢查網站的漏洞」。

3. 用漏洞資料庫確認內容

對於 WPScan 的結果,或在資安新聞中被點名的外掛,請用下列資料庫確認詳細內容。

  • WPScan Vulnerability Database(wpscan.com)
  • Wordfence Intelligence(wordfence.com)
  • Patchstack Database(patchstack.com)
  • NVD(nvd.nist.gov,以 CVE 編號搜尋)

要看的項目如下。

項目 確認的事項
受影響的版本 自己的版本是否在範圍內
已修正的版本 更新之後是否就能解決。也有尚未推出修正版的情況
所需的權限 不用登入就能被利用,還是需要投稿者或訂閱者的權限
嚴重程度(CVSS) 0~10 的數值。越高影響越大
類型 XSS、SQL 注入、權限提升、任意檔案上傳等

請從不用登入就能被利用的、嚴重程度高的開始處理。對於有開放使用者註冊的網站(會員網站、商店等),可以用訂閱者權限被利用的漏洞,則要趕快處理。

4. 確認檔案是否遭到竄改

當漏洞有可能被利用時,要確認檔案是否仍是發布時的樣子。WP-CLI 的 verify-checksums,會把 WordPress.org 公開的校驗碼(checksum)與檔案做比對。

# 檢查所有外掛
wp plugin verify-checksums --all

# 只檢查特定外掛
wp plugin verify-checksums contact-form-7

# 檢查 WordPress 核心的檔案
wp core verify-checksums

沒有問題的話,會顯示像 Success: Verified 8 of 8 plugins. 這樣的訊息。如果有被新增的檔案或內容不同的檔案,就會顯示其清單。

沒有在 WordPress.org 發布的付費外掛沒有校驗碼,所以無法用這個方法檢查。這種情況下,請從發行方下載相同版本,再比對檔案。

5. 發現漏洞時的處理

# 有修正版時: 更新
wp plugin update contact-form-7

# 沒有修正版時: 停用,不使用的話就刪除
wp plugin deactivate vulnerable-plugin
wp plugin delete vulnerable-plugin

# 在批次更新之前,先確認會被更新的項目
wp plugin update --all --dry-run

vulnerable-plugin 只是範例。請換成實際的 slug(wp plugin list 的 name 欄)。

  • 更新之前先備份,更新後要確認主要的畫面(聯絡表單、付款等)能正常運作。
  • 沒有推出修正版、開發已經停止的外掛,請考慮改用功能相同的其他外掛。在 WordPress.org 停止發布的外掛,其外掛頁面上會顯示停止的標示。
  • 如果有遭竄改的跡象,只更新是不夠的。也請確認是否有新增的管理員使用者、放在 uploads 中的 PHP 檔案、wp-config.php 的變更等,必要時從備份還原。

6. 讓確認成為習慣

  • 在後台的「外掛」中,可以針對每個外掛啟用自動更新(WordPress 5.5 以後)。請從更新時比較不擔心版面崩壞的外掛開始啟用。詳情請參考「設定外掛自動更新的方法」。
  • 如果要用 cron 定期執行 WPScan,請注意免費額度每天 25 次與非商業用途的條件。
  • 安全性外掛 Wordfence 也會在掃描時,通知需要更新的外掛等。使用方式請見「用 Wordfence 掃描網站」。

總結

檢查外掛漏洞,依序進行:列出清單(wp plugin list)、與已知漏洞比對(WPScan 或漏洞資料庫)、確認是否遭竄改(wp plugin verify-checksums)、以更新或刪除處理。刪除沒在使用的外掛,是最省事的對策。

對 WordPress 有疑問嗎?本站營運方位於日本,僅以日文回覆。 聯絡我們(日文)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲