修正偽裝關鍵字和連結入侵問題

本指南旨在協助您處理各種入侵行為,包括在網站上加入大量胡言亂語的網頁,我們稱之為偽裝關鍵字和連結入侵連結。熱門內容管理系統 (CMS) 的使用者皆可參考本指南。不過,即使您並未使用 CMS,本指南仍提供了十分實用的資訊。

我們希望確保這份指南對您有幫助。歡迎提供意見,協助我們改善服務品質!

辨識這類入侵行為

偽裝關鍵字和連結入侵會自動產生許多包含無意義文字、連結和圖片的網頁。這些網頁有時會包含原始網站的基本範本元素,因此乍看之下,這些網頁可能看起來像是網站的正常部分,直到使用者閱讀內容為止。

這類遭入侵網頁的建立目的是操縱 Google 的排名因素。駭客常會嘗試將遭入侵網頁上的連結販售給其他第三方,藉此營利。此外,遭入侵的網頁往往會將訪客重新導向至不相關的網頁,讓駭客能夠藉此賺取收益。

首先請查看 Search Console 中的安全性問題工具,查看 Google 是否在您的網站上找到任何這類遭到入侵的網頁。開啟 Google 搜尋視窗並輸入 site:_your site url_ 並加入網站的根層級網址,有時也能找出這類網頁。您網站上已經由 Google 建立索引的網頁都會顯示,包括遭到入侵的網頁。請瀏覽搜尋結果中的一些網頁,看看有無任何不尋常的網址。如果您在 Google 搜尋中找不到遭到入侵的內容,請使用其他搜尋引擎輸入相同的搜尋字詞。如下所示:

因入侵行為而產生的搜尋結果。
遭入侵的網頁會顯示在 Google 搜尋結果中。

一般而言,當您點選遭入侵網頁的連結時,系統會將您重新導向至其他網站,或是顯示充斥胡言亂語內容的網頁。不過,您可能也會看到表示網頁不存在的訊息 (例如 404 錯誤)。別上當!駭客會設法誘騙您想像網頁已經移除,或者網頁仍遭到入侵。這種做法稱為偽裝內容。在網址檢查工具中輸入網站網址,查看是否有偽裝內容。Google 模擬器工具可讓您查看基本的隱藏內容。

如果發現這些問題,表示您的網站很可能受到這類駭客攻擊的影響。

這類入侵行為所建立的範例網頁。
這類駭客攻擊建立的頁面示例。

修正入侵問題

首先,請先為任何檔案建立離線副本,再移除檔案,以防日後需要還原檔案。您甚至可以先備份整個網站,再開始執行清理程序。如要這麼做,可以將位於您伺服器上的所有檔案儲存到離您伺服器上的位置,或搜尋您的內容管理系統 (CMS) 適用的最佳備份選項。如果您使用 CMS,也請備份資料庫。

檢查 .htaccess 檔案 (3 個步驟)

偽裝的關鍵字和連結入侵會使用您的 .htaccess 檔案,自動在網站上建立偽裝網頁。熟悉 Apache 官方網站上的 .htaccess 基礎知識,有助您進一步瞭解駭客入侵網站有何影響,但這並非硬性規定。

步驟 1

在網站上找出 .htaccess 檔案。如果您不確定所在位置,且使用的是 WordPress、Joomla 或 Drupal 等 CMS,請在搜尋引擎中搜尋「.htaccess 檔案位置」,並加上您的 CMS 名稱。視您的網站而定,您可能會看到多個 .htaccess 檔案。 列出全部 .htaccess 個檔案位置的清單。

步驟 2

開啟 .htaccess 檔案,查看檔案內容。請找出類似下方的程式碼行:

RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]

這行中的變數可能有所不同。cj2fatobeornottobe 可以是任何字母或字詞的混用。重點在於識別此行參照的 .php

記下 .htaccess 檔案中提及的 .php 檔案。在這個範例中,.php 檔案的名稱為 injected_file.php,但實際上,檔案名稱並不明顯。通常是一組隨機的字詞,例如 horsekeys.phppotatolake.php。這可能是日後需要追蹤並移除的惡意 .php 檔案。

步驟 3

將所有 .htaccess 檔案替換為乾淨或預設版本的 .htaccess 檔案。一般來說,只要搜尋「default .htaccess file」和 CMS 名稱,即可找到預設版本的 .htaccess 檔案。如果網站有多個 .htaccess 檔案,請找到每個檔案的乾淨版本,然後執行取代作業。

如果沒有預設的 .htaccess 檔案,且您從未在網站上設定 .htaccess 檔案,那麼您在網站上找到的 .htaccess 檔案可能是惡意檔案。 離線儲存 .htaccess 檔案的副本,以防萬一,或是從您的網站儲存副本。

找出其他惡意檔案並予以移除 (5 個步驟)

找出惡意檔案並不容易,也相當耗時。請花點時間檢查檔案。如果您尚未備份網站上的檔案,這時可以派上用場。請在 Google 中搜尋「備份網站」和您的 CMS 名稱,尋找備份網站的操作說明。

步驟 1

如果您使用 CMS,請重新安裝預設 CMS 版本內含的所有核心 (預設) 檔案,以及您可能新增的任何檔案 (例如主題、模組、外掛程式)。這有助於確保這些檔案不含任何遭入侵的內容。您可以透過 Google 搜尋「重新安裝」和您的 CMS 名稱,尋找重新安裝程序的操作說明。如果您有任何外掛程式、模組、擴充功能或主題,請務必一併重新安裝。

步驟 2

首先,請尋找您之前在 .htaccess 檔案中指定的 .php 檔案。視您存取伺服器上檔案的方式而定,應可使用某些類型的搜尋功能。搜尋惡意檔案名稱。如果找到的話,請先建立備份副本並儲存在其他位置 (以備不時之需),再從網站上刪除。

步驟 3

尋找任何其他惡意或遭入侵的檔案。您可能已經移除以上兩個步驟中的所有惡意檔案,但我們建議您執行後續幾個步驟,以免網站上出現更多遭到入侵的檔案。

請別誤以為您必須開啟並檢查每個 PHP 檔案。首先,請建立您要調查的可疑 PHP 檔案清單。判別可疑的 PHP 檔案時,可以採用以下這些方法:

  • 如果您已重新載入 CMS 檔案,請只查看不屬於預設 CMS 檔案或資料夾的檔案。這麼做可以排除許多 PHP 檔案 只剩一些檔案需要檢視。
  • 依上次修改日期排序您網站上的檔案,找出修改時間與您首次發現網站遭到入侵的時間不到幾個月的檔案。
  • 依大小排序您網站上的檔案,找出所有特別大的檔案。

步驟 4

建立可疑的 PHP 檔案清單後,請檢查這些檔案是否為惡意檔案。如果您對 PHP 不熟悉,可能需要耗費更多時間,不妨先溫習一些 PHP 說明文件。如果您是編寫程式碼的新手,建議您取得協助。在此同時,您可以尋找一些基本模式來識別惡意檔案。

如果您使用 CMS,而且沒有直接編輯這些檔案的習慣,請比較伺服器上的檔案與 CMS 封裝的預設檔案清單,以及任何外掛程式和主題。尋找不屬於的檔案,以及大於預設版本的檔案。

首先,請掃描您已找出的可疑檔案,找出像是雜亂的字母和數字組合的大量文字。這類大型文字區塊通常前面有 base64_decoderot13evalstrrevgzinflate 等 PHP 函式組合。這類程式碼區塊可能的示例如下。有時這類程式碼會全部包進一長串文字,看起來比實際小。

// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.

base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));

有時這些程式碼並不雜亂,看起來就像一般指令碼。假如您不確定程式碼是否屬實,請前往網站管理員說明論壇求助,請經驗豐富的網站管理員協助您檢查檔案。

步驟 5

您現在知道哪些檔案屬於惡意檔案,建議您建立備份或本機副本來儲存在電腦上,以防這些檔案並非惡意檔案,然後從網站中刪除可疑的檔案。

檢查網站是否乾淨

清理完遭到入侵的檔案後,請檢查您的努力是否成功。還記得您之前找到的充斥胡言亂語網頁嗎?請再次使用 Google 模擬器工具,確認這些文字是否仍然存在。如果 Google 模擬器傳回「找不到」回應,表示您的網站應該沒問題了!

如何避免再次遭到入侵?

修正網站的安全漏洞是修正網站問題的最後一步,也是重要的一步。近期研究發現,遭入侵的網站中有 20% 會在一天內再次遭到入侵。因此,確切瞭解網站遭到入侵的方式實在很有幫助。請詳閱垃圾內容發布者入侵網站的常見方式指南,展開調查。不過,如果您無法找出網站遭到入侵的方式,請參考以下檢查清單,瞭解如何減少網站的安全漏洞:

  • 定期掃描電腦:使用任何常見的病毒掃描工具檢查病毒或安全漏洞。
  • 定期變更密碼:定期變更您所有網站帳戶 (例如代管服務供應商、FTP 和 CMS) 的密碼可防止他人在未經授權的情況下存取您的網站。請務必為每個帳戶建立不重複的高強度密碼
  • 使用雙重驗證 (2FA)建議您為所有需要登入的服務啟用 2FA。這樣一來,即使駭客成功竊取您的密碼,仍然難以登入帳戶。
  • 定期更新 CMS、外掛程式、擴充功能和模組:希望您已經完成這個步驟。許多網站之所以遭到入侵 是因為其執行的軟體版本過舊部分 CMS 支援自動更新功能。
  • 考慮訂閱安全性服務,協助您監控網站:有許多優質服務可協助您監控網站,且費用不高。建議你註冊這類服務,確保你的網站安全無虞。

其他資源

如果您仍然無法順利修正網站問題,還有另一些資源可能對您有所幫助。

這些工具會掃描您的網站,並可能發現有問題的內容。 不過,除了 VirusTotal Google 提供的工具,Google 並未對其他工具提供支援。

這些工具只是可協助您掃描網站,找出有問題的內容。請記得,這些掃描工具不一定能成功辨識所有類型的問題內容。

Google 另外提供了以下資源,可能對您有所幫助: