Command Palette

Search for a command to run...

為什麼插件掃描會空回,以及這證明了什麼

為什麼插件掃描會空回,以及這證明了什麼

T
Toolz Team
|Sep 25, 2026|8 閱讀
在 Google 上首選 Toolz。dev

WordPress 外掛程式偵測器

查看任何頁面上載入了哪些 WordPress 插件,其中包含資料夾 slug、版本、安裝次數以及每個插件來自的證據。

使用WordPress 外掛程式偵測器

我掃描了客戶端'購買插件並取回三個。網站運行二十六。沒有任何內容被破壞,也沒有任何內容被故意隱藏:他們的優化插件已將每個腳本合併到一個組合文件中,並且合併的文件名稱中沒有插件資料夾。掃描準確了解頁面加載的內容,並且作為庫存毫無用處,這就是本指南的區別。

從網站外部檢測插件確實有用且確實有限,大多數工具只告訴您前半部分。以下是檢測的工作原理、每個結果可以意味著什麼、不能意味著什麼,以及如何在不得出錯誤結論的情況下閱讀簡短清單。這 WordPress 外掛程式偵測器 故意報告兩半。

TL;DR: 插件檢測的工作原理是查找從中載入的檔案 /wp-content/plugins/<slug>/ 在一頁中。任何不載入前端檔案的內容都是不可見的:僅限管理員的插件、在其他頁面上觸發的插件以及快取插件將其資產合併到一個組合檔案中的任何內容。將結果視為底線,而不是總計。可靠地掃描內部頁面而不是主頁可以找到更多內容。

插件檢測實際上如何運作?

執行任何可見操作的插件必須從自己的資料夾載入某些內容。 WordPress 從固定路徑提供插件文件 /wp-content/plugins/<slug>/,因此從那裡載入的任何樣式表、腳本或圖像都會命名擁有它的插件:

<link rel="stylesheet" href="/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.9.3" />
<script src="/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=9.2.3"></script>

那是 contact-form-7 和 woocommerce,由頁面陳述,而不是根據其行為推斷。一些插件更清楚地宣布自己:身體類別、REST 命名空間 /wp-json/,元標籤、HTML 評論、cookie 名稱。

此版本通常沿著查詢字串運行。 ?ver=5.9.3 wordpress 附加了用於破壞快取的內容,在大多數安裝中它是插件&#39;的真實版本。出於快取原因剝離版本查詢字串或對值進行硬編碼的網站將不報告任何內容或內容陳舊。

證據 例子 信心
資產路徑 /wp-content/plugins/woocommerce/... 該插件在此頁面上載入了一個檔案
版本查詢字串 ?ver=9.2.3 通常是安裝版本
REST 命名空間 /wp-json/wc/v3 插件註冊的 API 路由
身體課 woocommerce-page 該插件在此頁面類型上處於活動狀態

為什麼這麼多插件保持隱形?

四個普通設定隱藏了插件,它們都不意味著網站做錯了什麼。

僅管理插件不會為訪客載入任何內容。 備份調度程序、SEO 編輯器、遷移工具、使用者角色管理器、暫存實用程式:它們在內部完成工作 wp-admin 並且不添加任何內容到前端。任何真實網站的很大一部分&#39;s 外掛程式清單就屬於此類,並且從設計上從外部不可見。

插件會觸發它們所在的頁面。 結帳插件載入結帳。表單插件載入表單所在的位置。掃描主頁並得出網站有三個插件的結論就像閱讀一本書的第一頁並報告其字數一樣。

優化插件擦除資料夾名稱。 這是一個很大的。將每個腳本和樣式表連接到快取資料夾下的一個檔案中的插件會刪除它合併的所有內容(包括它自己的)的插件資料夾名稱。代碼仍然存在。證據不是。

主機和 CDN 重寫資產路徑。 某些託管主機透過不再包含的路徑代理每個靜態檔案 /wp-content/plugins/.同樣的效果,一次應用於整個網站。

因此,空結果至少有五個意義:沒有插件處於活動狀態,沒有載入前端資產,優化器合併它們,主機重寫路徑,或者網站不是 WordPress。報告&quot的工具;0 插件&quot;如果不將這些分開,它就不會報告發現,而是報告自己的盲點。

沒有真實姓名的資料夾名稱是什麼意思?

檢測會給您一個 slug。將 slug 轉換為已發布的名稱、當前版本和安裝計數需要將其與插件目錄進行匹配,並且並非每個插件都在一個插件中。

沒有匹配條目的裸露 slug 幾乎總是意味著三件事之一。它是在 WordPress。org 之外出售的高級插件,它描述了大多數商業頁面構建器、表單插件和會員系統。它是自訂的,由建立它的人為該網站編寫。或者該資料夾只是被重新命名,這是某些網站所有者故意這樣做的。

這本身就是一個有用的訊號。插件清單大多不匹配的網站 slugs 正在運行商業或客製化軟體,在您向任何人提出問題之前,它會告訴您一些有關其背後預算的資訊。

如何獲得更完整的圖片?

掃描多頁。這是單一最高價值的習慣,而且不需要任何費用:

  1. 主頁,適用於整個網站的家具:分析、同意橫幅、頁面建立器、滑桿。
  2. 部落格文章,用於內容側插件:相關貼文、目錄、社交分享、評論系統。
  3. 用於商業的產品或定價頁面:商店插件、支付網關、貨幣切換器。
  4. 用於表單、地圖和垃圾郵件保護的聯絡頁面。

以工會為例。即便如此,它也是一個樓層,但比任何一頁給出的都要高得多。

的 /wp-json/ 啟用索引後,索引也值得一看。無論前端載入什麼內容,註冊 REST 路由的插件都會以命名空間顯示在那裡,因此它會捕獲一些未命中的資產路徑:

curl -s https://example.com/wp-json/ | grep -o '"namespace":"[^"]*"' | sort -u

掃描某人嗎&#39;網站可以接受嗎?

閱讀公共頁面是一個普通的請求。它出現在網站&#39;其存取日誌與瀏覽器的存取完全相同,並且不會登入、提交任何內容或觸控管理區域。這 WordPress 安全文件 關注經過驗證或探測的請求可以做什麼,而不是頁面自願向每個訪客發布的內容。

意圖變得更尖銳。如果您將其作為其中之一,則插件列表是偵察:具有已知漏洞的插件的過時版本正是攻擊者所尋找的。這是更新您自己的插件的原因,而不是假裝該資訊是秘密的原因,因為任何人都可以閱讀同一頁。如果您正在審核您不擁有的網站,請堅持該頁面告訴您的內容並將其留在那裡。

結果有什麼好處

在其限制範圍內使用,外部插件掃描可以快速回答真實問題。該網站使用哪個頁面建立器,因此我可以引用更改內容。 WooCommerce 上的這家商店是託管的嗎?表單插件是什麼,所以我可以匹配它。這個競爭對手是否運行與我們相同的 SEO 堆疊。我自己的暫存網站是否意外載入了我在本地停用的外掛程式。

它不能做的是產生一個清單。為此,您需要管理員, wp plugin list 結束了 WP-CLI,或擁有登入權限的人。

如果問題是是什麼渲染頁面而不是頁面上載入什麼,那就是 WordPress 主題偵測器,上面寫著主題&#39;自己的 style.css 對於名稱、版本和父級。當你是發布插件的人時, 自述文件產生器 寫道 readme.txt 這決定了您的插件和#39;自己的目錄清單如何讀取。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!