本指南專門針對一種駭客攻擊手法,在你的網站上加入大量關鍵字的亂碼網頁,我們稱之為隱藏關鍵字和連結的駭客攻擊。本指南適用於常見內容管理系統 (CMS) 的使用者,但即使您不使用 CMS,這份指南仍會提供實用資訊。
我們希望這份指南能對您有所幫助。 提供意見回饋,協助我們改善服務!
找出這類駭客攻擊
偽裝關鍵字與連結攻擊會自動產生許多包含無意義文字、連結和圖片的網頁。這些網頁有時會含有原始網站的基本範本元素,所以乍看之下可能會被誤認為網站的正確網頁,使用者必須閱讀內容後才會發現問題。
駭客建立這些網頁的目的,是為了操控 Google 的排名因素。駭客通常會嘗試將遭到入侵的網頁連結賣給不同的第三方,藉此營利。遭到入侵的網頁通常也會將訪客重新導向至駭客可賺取收益的無關網頁。
首先,請在 Search Console 中查看「安全性問題」工具,瞭解 Google 是否已在你的網站上發現任何遭到入侵的頁面。有時,你也可以開啟 Google 搜尋視窗,並輸入 site:_your site url_
和網站的根層級網址,來找出這類網頁。這會顯示 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]
這行中的變數可能有所不同。cj2fa
和 tobeornottobe
可以是任何字母或字詞的組合。重要的是找出這個行中參照的 .php
。
請記下 .htaccess
檔案中提及的 .php
檔案。在這個範例中,.php
檔案的名稱為 injected_file.php
,但實際上檔案名稱不會這麼明顯。通常是隨機的無害字詞,例如 horsekeys.php
或 potatolake.php
。這很可能是惡意 .php
檔案,我們稍後會追蹤並移除。
步驟 3
將所有 .htaccess
檔案替換為清除或預設版本的 .htaccess
檔案。您通常可以搜尋「預設 .htaccess
檔案」和 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 和任何外掛程式和主題所隨附的預設檔案清單進行比較。找出不屬於這個資料夾的檔案,以及檔案大小大於預設版本的檔案。
首先,請掃描您已識別的可疑檔案,尋找含有大量文字的區塊,這些文字看起來像是混雜的字母和數字組合。大範圍的文字通常會在開頭加上 PHP 函式組合,例如 base64_decode
、rot13
、eval
、strrev
或 gzinflate
。以下是程式碼區塊的範例。有時所有程式碼都會塞入一行長長的文字,讓程式碼看起來比實際上小。
// 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): 建議您在任何需要登入的服務上啟用雙重驗證。有了兩步驟驗證功能,即使駭客成功竊取密碼,也難以登入。
- 定期更新 CMS、外掛程式、擴充功能和模組:希望您已經完成這個步驟。許多網站會遭到駭客入侵,原因是因為執行過舊的軟體。部分 CMS 支援自動更新功能。
- 考慮訂閱安全性服務來監控網站:市面上有許多優質服務,只要支付少許費用,就能協助您監控網站。建議你向這些機構註冊,確保網站安全無虞。
其他資源
如果仍無法順利修正網站,請參考其他資源。
這些工具會掃描你的網站,並找出有問題的內容。不過,除了 VirusTotal Google 提供的工具,Google 並未對其他工具提供支援。
以上只是部分工具,可掃描網站是否有問題內容。請注意,這些掃描工具無法保證一定能找出所有類型的有問題內容。
Google 另外提供了以下資源,可能對您有所幫助: