惡意攻擊者最常用的策略之一是將惡意重定向惡意軟件添加到站點,以將流量驅動到另一個站點。這不僅對網站所有者不利,而且對網站訪問者也不利。惡意重定向通常會將毫無戒心的站點訪問者帶到垃圾郵件站點,甚至可能會用難以消除的惡意軟件感染用戶計算機的站點。

在這篇文章中,北京六翼信息技術有限公司的開發工程師就什么是惡意重定向惡意軟件、黑客為何使用這種策略、如何確定您的網站是否受到此惡意軟件的影響以及從惡意重定向惡意軟件的影響中恢復您的網站的一些可能解決方案。
此外,我們將概述一些重要步驟,以確保您的站點在恢復后仍然受到保護。
什么是惡意重定向惡意軟件?
惡意重定向是一種代碼,通常是 Javascript,它被插入到一個網站中,目的是將網站訪問者重定向到另一個網站。通常,這種惡意軟件會被攻擊者添加到 WordPress 網站,目的是在另一個網站上產生廣告印象。但是,一些惡意重定向可能會產生更嚴重的影響。更嚴重的惡意重定向可以利用站點訪問者計算機中的潛在漏洞。這種類型的惡意軟件旨在安裝感染個人計算機的惡意軟件,這些惡意軟件會對用戶的 Mac 或 Windows 計算機造成極大的破壞。
確定您的網站是否被感染
網站所有者可能不知道他們的網站正在重定向。通常,惡意重定向是隱藏的,因此只有未經身份驗證(未登錄的用戶)才會被重定向。或者,它可能會檢測用戶在訪問網站時使用的瀏覽器,并僅使用該特定瀏覽器進行重定向。例如,如果他們的目標是使用只能感染易受攻擊的 Chrome 版本的惡意軟件來利用個人計算機,那么只有那些使用惡意腳本檢測到的那個版本的人才會被重定向。可能需要進行一些調查才能確定發生了什么。
網站所有者可能會嘗試復制客戶報告的重定向,結果卻發現在他們的計算機上一切正常。移動平臺上的網站訪問者可能同時遇到惡意活動。重定向可能發生在某些頁面上而不是其他頁面上。或者,它甚至可能在網站加載之前發生。
為什么我的 WordPress 網站會重定向到另一個網站?
如果您的站點正在重定向,攻擊者可以使用幾種方法來創建重定向。當然,這些都是創建重定向的非常有效的方法,但是,在惡意情況下,這些絕對不符合站點訪問者的最佳利益。以下是攻擊者用來重定向的一些方法。重定向的主要方法包括 .htaccess 重定向或 Javascript 重定向。在極少數情況下,您可能會找到 HTTP 標頭(例如,META HTTP-EQUIV=REFRESH 重定向),但這種情況很少見。在許多情況下,重定向被混淆了,這意味著函數被用來隱藏代碼的真實意圖。這種混淆通常是出現問題的第一個關鍵,但攻擊者打賭大多數 WordPress 網站所有者會被混淆嚇到,不想深入挖掘。
重定向感染的確切位置在哪里?
黑客會在多個區域插入他們的惡意代碼可以導致 WordPress 重定向被黑客攻擊發生。
1.PHP文件
攻擊者可以通過將代碼插入任何WordPress 核心文件來感染您的站點。以下是一些可能包含導致您出現問題的惡意代碼的文件:
攻擊者可以通過在 WordPress 的任何核心文件中注入代碼來感染該網站。檢查這些文件中的惡意代碼。如果您不確定哪些代碼是惡意代碼,哪些不是,您可以隨時將這些文件與 WordPress 核心或您的主題和插件文件的已知良好副本進行比較
l joowp.com
l index.php
l wp-config.php
l wp-settings.php
l wp-load.php
l .htaccess
l Theme files (wp-content/themes//)
n header.php
n functions.php
n footer.php
2.JavaScript 文件
某些重定向惡意軟件的變體會影響您網站上的所有 JavaScript (.js) 文件。這將包括插件、主題文件夾和 wp-includes 中的 Javascript 文件。
通常,相同的惡意代碼會添加到每個 JavaScript 文件的最頂部或底部。
3..htaccess 文件
您的 .htaccess 文件是一組指令,告訴您的網絡服務器在收到站點訪問者的請求后立即做什么。它在 PHP 之前參與,在對您的數據庫進行任何調用之前,它可以檢測某些“環境變量”,這些“環境變量”告訴您的服務器一些關于用戶所在系統的信息,例如他們的瀏覽器、計算機類型,即使請求您網站的頁面來自搜索引擎抓取工具。
如果您不熟悉普通WordPress .htaccess 文件的外觀,.htaccess 中的大部分代碼可能會令人困惑。而且,如果您將 .htaccess 文件下載到您的硬盤驅動器以進行更深入地查看,它通常會在您身上消失,因為許多個人計算機將此文件類型視為“隱藏文件”。
將惡意代碼添加到 .htaccess 文件中的非常常見的Pharma hack通常只會重定向來自搜索引擎結果頁面的網站訪問者。
黑客將他們的惡意代碼以一種您無法找到的方式放置在文件中,除非您向右滾動很遠。這使得發現和刪除這些重定向黑客變得更加困難。
3. WordPress數據庫
wp_options 和 wp_posts 表通常是WordPress 數據庫中的表,黑客將其作為插入惡意重定向的目標。Javascript 代碼可以嵌入您的每個帖子甚至所有帖子中。如果重定向隱藏在小部件中,您通常還可以在 wp_options 表中找到重定向。
4. 假 favicon.ico 文件
存在惡意軟件,它會在您網站的服務器上創建一個隨機的 .ico 文件或流氓 favicon.ico 文件,其中包含惡意的 PHP 代碼。這些 .ico 文件將包含惡意重定向,然后將其包含在您網站上的另一個文件中。
@include "/home/sitename/sitename.com/cdhjyfe/cache/.2c96f35d.ico";
快速從惡意重定向中恢復
如果您遭到惡意重定向攻擊,從此類惡意軟件中恢復得最快、最簡單的方法是從已知良好的備份中恢復。如果您使用BackupBuddy定期備份您的網站,那么您知道您有一個包含您網站的良好副本的最新備份。從已知的良好備份恢復您的網站是讓您的網站快速恢復和運行的絕佳方式。
當然,如果您運行的站點的內容經常更改,那么防止惡意重定向的最佳方法就是做好最近的備份和入侵檢測,這樣您就可以迅速收到問題警報。通過這種方式,您可以快速采取行動并最大限度地減少停機時間。
當然,您還必須查看訪問日志以確定黑客是如何進入并進行重定向的。
關于附加域的說明
WordPress 網站被黑客入侵的最常見方式之一是來自未維護的附加域或在您的托管帳戶中額外安裝 WordPress。也許您設置了一個測試站點以查看某些東西是否可以在同一賬戶中運行,但您忘記了該安裝。黑客發現它并利用未維護站點中的漏洞在您的主站點上安裝惡意軟件。或者,也許您將家人的網站也托管在同一空間以節省資金,但他們正在重復使用泄露的密碼。
最好在一個主機賬戶中擁有一個 WordPress 站點,或者如果您在同一個主機賬戶中使用多個站點,請確保它們彼此隔離,并為每個站點使用不同的基于服務器的用戶。這樣,就不會發生從一個脆弱站點到另一個相鄰站點的交叉污染。
如果您的托管賬戶中確實有多個站點,則需要將在同一空間中運行的所有站點(例如,在 public_html 下運行的所有站點)視為它們都被惡意重定向惡意軟件污染了。如果您確實有這樣的情況,請確保為該托管實例中的每個站點完成這些步驟中的每一個。如果您不確定,請咨詢您的托管服務提供商。
掃描您的網站以查找 WordPress 重定向黑客惡意軟件
如果您沒有最近的干凈備份,您仍然可以自行刪除惡意軟件。這樣做可能是一個乏味的過程,您需要尋找的不僅僅是重定向惡意軟件。重定向惡意軟件最常見的是伴隨著其他惡意軟件,包括后門程序和流氓管理員用戶,您還需要確定黑客是如何進入的,通常稱為“入侵向量”。不采取整體方法來清除惡意軟件會確保重定向問題再次出現。
1.備份網站
是的,即使該站點已被感染,您仍希望保留所發生事件的證據。將任何黑客攻擊視為犯罪現場,您會想知道發生了什么以及發生的時間。當您確定入侵是如何發生的時,文件時間戳將有助于您的調查,從而防止它再次發生。
2. 確定是否需要關閉網站
使用惡意重定向,您可能希望暫時關閉您的站點以進行維護。并非所有重定向都可以保證這一點,但如果您的網站重定向到一個可能損害用戶計算機的地方,將網站關閉一段時間可以防止進一步的損害。
如果您認為黑客可能仍在該網站上活動(如果您不知道,請假設他們是),關閉該網站并使其無法訪問可以防止進一步的破壞。
每種情況都會有所不同;您需要根據正在發生的事情做出決定。
3.將站點復制到本地驅動器
保留備份,將站點復制到本地驅動器。我們建議使用文本編輯器在本地驅動器上進行清理,并在本地比較并查看所有文件——從 PHP 和 Javascript 文件到 .htaccess 文件——在 Internet 無法訪問的本地情況下。這樣,您就有了一個檢查文件的受控環境。您可以下載 WordPress 的全新副本、您的主題和您的插件,并將文件與您的被黑站點進行比較,以查看哪些文件被更改,哪些文件根本不屬于。您可以使用許多文件比較工具。
4.刪除重定向和隱藏的后門
當您查看文件時,您可以將其中包含惡意軟件的文件替換為已知完好的副本,或者如果您愿意這樣做,您可以刪除不應該存在的文件(通常是后門)和代碼行那不應該與文本編輯器一起存在。
檢查您的 /wp-content/uploads 目錄和所有不應存在的 PHP 文件的子目錄。
有些文件將不同于您從 WordPress.org 存儲庫下載的任何文件。這些文件包括您的 .htaccess 文件和 wp-config.php 文件。這些將需要仔細檢查是否有任何錯誤的惡意代碼。兩者都可以包含重定向,并且 wp-config.php 文件可以包含后門。
5.將清理后的文件上傳到您的服務器
要立即清除所有惡意軟件,防止訪問被黑站點上活動的任何后門,請將清理后的站點上傳到與被黑站點相鄰的位置。例如,如果您被黑的網站位于 /public_html/ 下,則將您的干凈網站上傳到它旁邊的 /public_html_clean/。在那里,將實時 /public_html/ 目錄重命名為 /public_html_hacked/ 并將 /public_html_clean/ 重命名為 public_html。如果您選擇在清理過程開始時不關閉站點,這只需要幾秒鐘,并且可以最大限度地減少停機時間。它還可以防止您通過與活躍的攻擊者玩“打地鼠”游戲來嘗試清理受到攻擊的被黑網站。
現在文件已清理,您還有一些工作要做。仔細檢查該站點在前端以及 wp-admin 中是否正常。
6.尋找惡意管理員用戶
查找添加到您站點的任何惡意管理用戶。前往 wp-admin > users 并仔細檢查所有管理員用戶是否有效。
7.更改所有管理密碼
考慮所有管理員賬戶都受到威脅并為所有賬戶設置新密碼。
8. 防止惡意注冊
前往 wp-admin > settings > general 并確保禁用名為“Anyone Can Register”的“Membership”設置。如果您需要用戶注冊,請確保“新用戶默認角色”僅設置為訂閱者,而不是管理員或編輯。
9. 在數據庫中搜索任何惡意鏈接
手動搜索您的 WordPress 數據庫以查找惡意 PHP 函數,其方式與查找文件系統中的問題的方式類似。為此,請登錄 PHPMyAdmin 或其他數據庫管理工具并選擇您的站點正在使用的數據庫。
然后搜索以下術語:
l 評價
l 腳本
l Gzinflate
l Base64_解碼
l str_replace
l preg_replace
在更改數據庫中的任何內容之前要格外小心。即使是非常小的更改,例如不小心添加了一個空格,也可能導致您的網站崩潰或無法正常加載。
10.保護網站
因為發生了入侵,您需要假設與您的站點相關的所有內容都已受到損害。在您的托管賬戶面板中更改您的數據庫密碼,并在您的 wp-config.php 文件中更改憑據,以便您的 WordPress 站點可以登錄到您的 WordPress 數據庫。
此外,更改您的 SFTP/FTP 密碼,甚至更改您的 cPanel 或主機賬戶的密碼。
11.檢查谷歌問題
登錄到您的 Google Search Console,看看您是否有任何惡意網站警告。如果是這樣,請查看它們以查看您的修復是否已解決問題。如果是這樣,請求審查。
12.更新或刪除任何易受攻擊的軟件
如果您有任何需要更新的軟件、主題、插件或核心,請立即更新。如果您使用的插件中存在尚未修補的漏洞,請停用并從您的站點中完全刪除該軟件。
此時,如果您已鎖定您的網站,您可以刪除維護通知以使您的網站再次可訪問。
關于WordPress建站的問題,歡迎留言討論,關注“六翼開源”專注WordPress建站服務。





