#Nohacked: 修正被植入亂碼的網頁

2015年8月25日星期二

原文: #NoHacked: Fixing the Injected Gibberish URL Hack
作者: Eric Kuan, Webmaster Relations Specialist and Yuan Niu, Webspam Analyst

我們將在今天的 #nohacked 推廣活動中,和大家談論如何解決我們上週提到的被植入無意義網址的駭客攻擊問題。即使您的網站未遭受這種特定類型的駭客攻擊,下方許多步驟仍有助您抵禦其他類型的駭客攻擊。大家可以透過 #nohacked 標記追蹤在 Twitter Google+ 上的討論內容。( ( 第 1 部分 第 2 部分 第 3 部分 第 4 部分 )


讓網站暫時下線
讓網站暫時下線不僅可避免網站的訪客前往遭駭網頁,您也有時間能夠妥善修正網站問題。如果未讓網站下線,在您清理網站的同時,網站可能面臨再次遭到入侵的風險。

處理網站問題
您必須有能力對自己的網站進行技術方面的調整,才方便進行以下的幾個步驟。如果您並不熟悉網站技術,或者不確定自己是否能處理這些調整,建議您諮詢或聘請專業人士。不過,詳閱這些步驟說明仍然對您有所幫助。

著手修正網站問題前 ,建議您先 備份網站 ( 這個備份版本仍包含遭駭客植入或竄改過的內容,僅供您在不慎移除重要檔案時使用 )。如果您不知道如何備份網站,請向您的代管服務供應商尋求協助,或者參閱內容管理系統 (CMS) 說明文件。而按照步驟進行操作時,如果您打算移除某個檔案,請務必保留該檔案的複本。

檢查 .htaccess 檔案
為了操縱您的網站, 這類 駭客攻擊手法會建立或竄改 .htaccess 檔案 的內容。如果您不知道 .htaccess 檔案的位置,請參閱伺服器或 CMS 說明文件。

請檢查 .htaccess 檔案,確認其中是否含有可疑內容。如果您不知道如何解讀 .htaccess 檔案的內容,可以參閱 Apache.org 說明文件、前往說明論壇提問,或者諮詢專業人士。以下是遭這類駭客攻擊所竄改的 .htaccess 示例


  • <IfModule mod_rewrite.c>
  • RewriteEngine On
  • #Visitors that visit your site from Google will be redirected
  • RewriteCond %{HTTP_REFERER} google\.com
  • #Visitors are redirected to a malicious PHP file called happypuppy.php
  • RewriteRule (.*pf.*) /happypuppy.php?q=$1 [L]
  • </IfModule>
將您找到的所有惡意內容予以刪除。在多數情況下,如果 .htaccess 檔案內均為惡意內容,您可以直接刪除整個 .htaccess 檔案。 此外,您可能會注意到 .htaccess 檔案中出現了惡意 PHP 檔案 (我們稱之為 happypuppy.php,但其名稱通常為隨機的雙字詞組合),這部分在下一步驟中相當重要,因為我們接下來要討論的就是如何追蹤惡意檔案。

找出其他惡意檔案
JavaScript 和 PHP 檔案是最常遭到這類駭客攻擊手法竄改或植入內容的檔案類型。駭客所採取的方式通常有兩種:第一種是在伺服器上置入新的 PHP 或 JavaScript 檔案。有時這些被置入檔案的名稱會與網站上正常檔案的名稱相當類似 (比如正常檔案是 wp_cache.php,被置入的檔案是 wp-cache.php)。第二種方式是竄改伺服器上的正常檔案,在這些檔案中置入惡意內容。舉例來說,如果您的網站上具有範本或外掛的 JavaScript 檔案,駭客就可能在這類檔案中加入惡意的 JavaScript。

例如 www.example.com 上有一個名為 happypuppy.php 的惡意檔案,這個檔案先前被發現藏匿在 .htaccess 檔案內,而駭客將其植入網站資料夾中 。不過,駭客同時也破壞了名為 json2.min.js 的正常 JavaScript 檔案,在其中加入了惡意程式碼。以下為遭到毀損的 json2.min.js 檔案示例:


為了有效追蹤惡意檔案,您必須瞭解網站上的 JavaScript 和 PHP 檔案有何作用。您可能需要參閱 CMS 說明文件以取得協助;瞭解各檔案的功用之後,追蹤不屬您網站的惡意檔案時就會更為輕鬆。

此外,也請檢查您的網站最近是否修改過任何檔案。凡是近期修改過的範本檔案,都應該徹底檢查。我們在附錄中提供了相關工具,協助您解析不易解讀的 PHP 檔案。

移除惡意內容
如同先前所述,在您決定移除或修改任何檔案前,請先妥善備份網站內容。如果您有定期備份網站的習慣,那麼可能只要將網站還原到完好的備份版本,網站就清理完成了,整個流程非常簡單。

如果您沒有定期備份網站的習慣,則有幾種替代方案可以選擇。首先,刪除網站中被置入的所有惡意檔案。舉例來說,您可以刪除 www.example.com 中的 happypuppy.php 檔案。而對於 json2.min.js 這類遭到毀損的 PHP 或 JavaScript 檔案,您必須將這些檔案的完好版本上傳到您的網站。如果您使用 CMS,建議您在網站上重新載入新版核心 CMS 和外掛程式檔案。

找出並修正漏洞
移除惡意檔案後,建議您追蹤導致網站遭到入侵的漏洞並予以修正,否則您的網站隨時都有再次遭駭的風險。漏洞的來源相當多,從遭到竊取的密碼乃至於過舊的網路軟體都有可能。請參閱 Google 網站管理員駭客攻擊相關說明文章 ,瞭解如何找出並修正漏洞。如果您無法找出網站遭到入侵的原因,請務必更改所有登入憑證所使用的密碼、更新所有網路軟體,也可以謹慎評估是否需要更多協助,確保一切安全無虞。

後續步驟
網站清理完成後,請使用 Google 模擬器工具來檢查 Google 是否仍會看到這些 遭駭網頁 ,也別忘了檢查首頁是否還有遭駭客植入或竄改過的內容。如果您沒有發現任何遭駭內容,那麼恭喜您,網站已經清理乾淨!如果 Google 模擬器工具依然在這些遭駭網頁上看到由駭客植入或竄改過的內容,則代表您的工作尚未完成。請再次進行檢查,看看是否遺漏了任何惡意 PHP 或 JavaScript 檔案。

確認網站清理完成,漏洞也已修正之後,就可以讓網站重新上線。如果 Google 對您的網站施行了 人工介入處理 行動,請透過 Search Console 提出 重審要求 。此外,請設法保護網站日後不受攻擊所危害。如需進一步瞭解如何針對日後可能受到的攻擊為網站採取預防措施,請造訪 Google 網站管理員說明中心 (專門針對遭入侵的網站) 閱讀相關文章。

我們希望這篇文章能夠讓您更加瞭解,當網站遭受駭客攻擊、被植入無意義網址時該如何解決問題。敬請追蹤我們的社交推廣活動,也歡迎透過 #nohacked 主題標記,分享任何關於維護網路安全的提示或技巧。

如果還有其他問題,歡迎前往 網站管理員說明論壇 提問,該網站管理員社群中的其他成員會非常樂意回答您的問題。另外,我們將於 8 月 26 日舉辦 Hangouts 直播:安全性講座 ,歡迎共襄盛舉。

附錄
這些工具或可為您提供協助,不過 Google 並未針對這些工具提供支援。
P HP Decoder UnPHP 駭客經常會竄改 PHP 檔案,導致難以辨識。利用這些工具清理 PHP 檔案,可讓您更瞭解 PHP 檔案的作用。