一般的站點都存在安全隱患,WordPress 架構的站點也是如此。我們接觸過幾個被黑的使用者的站點,發現他們在本身的安全意思不強導致的,從而被駭客上傳了後門程式。這些後門程式有的非常的隱蔽,不易發現。本文將從我們實際接觸的幾個案例來探討一下如何在被黑的 WordPress 站點中發現後門並修復它。其它程式架構的網站不在此討論中。
一、什麼是後門?
後門是一種為刪除能透過正常的授權並獲得遠端訪問伺服器的程式方法。許多聰明的駭客總會上傳後門程式以獲得站點的正常授權。如果你沒有發現並適當的清除它,駭客們會一直已管理員的身份訪問你的站點。這是非常可怕的。
後門程式各種各樣,有一些後門程式僅允許常見隱藏的管理員使用者名稱;然後一些複雜的後面程式能夠允許駭客執行 PHP 程式碼;還有一些能夠完全注入 UI,允許他們以伺服器名義傳送電子郵件執行 SQL 查詢等等任何可以做到的事。

二、後門程式碼隱藏在什麼地方?
透過我們實際接觸及國外安全方面的介紹,一般後門程式碼隱藏在一下的位置:
- 主題 – 為了讓後門程式碼更加隱蔽,駭客門不把程式碼放在當前主題中,他們可能把程式碼放在一些沒有啟用的主題中。如果你的 WordPress 站點中存在多個主題,請不未啟用的主題刪除。
- 外掛 – 有三點足以說明外掛是駭客們樂於放後門程式碼的地方。第一是因為我們不去看其程式碼,只管用;第二是因為我們不喜歡更新外掛,擔心更新後會失去設定;第三一些外掛本身就藏有後面。
- Uploads 目錄 – 作為一名 WordPress 使用者,可能不願意去看 uploads 目錄,因為那裡面存在許許多多上傳的檔案,有時顯得很亂。然後這正被駭客們利用。由於這個資料夾是可寫的,所以導致一些後面程式碼就存在這裡。
- wp-config.php – 這個檔案也是被駭客們高度注意的一個檔案。
- Includes 資料夾 – /wp-includes/資料夾也是駭客們喜歡上傳檔案的地方,因為這裡面存在大量的 PHP 檔案,他們上傳一個 php 檔案在這裡很容易混淆視聽,不易被發現。
在這些地方,他們會讓他們的檔案看上去像一個 WordPress 檔案。
例如: 在一個案例中,這個後門程式碼存在 wp-includes 資料夾中,它叫 wp-user.php,這個檔案在正常的安裝中沒有的。還有叫 user.php,正常安裝中也沒有。在另一個案例中還有一個叫 hello.php,存在於 uploads 資料夾內,這與 Hello Dolly 外掛是不同的。
可能還有使用類似 wp-content.old.tmp, data.php, php5.php 這樣的檔案,甚至使用 zip 檔案。在大多少案例中,這些檔案採用了 base64 程式碼加密,讓你看不到內容而不敢刪除。
現在可能然你認為 WordPress 是不安全的而不敢使用,這你就錯了。我一開始就講了,任何程式都存在安全隱患。而 WordPress 在安全方面做的足夠好,而且一旦發現馬上就會有更新,這一點大家不要擔心。之所以出現這些,往往是大家設定不當導致的。
三、如何發現並清除後面?
現在已經知道後門是什麼以及在哪裡,接下來就是去找到它,一旦找到,清除就很簡單,直接刪除即可。難點是如何發現它的位置。不過我們可以藉助外掛來做。以下幾個外掛可以實現這點:
1 、 Theme Authenticity Checker(免費外掛)
2 、 Exploit Scanner(免費外掛)
3 、 Sucuri(付費外掛)
當然如果你不願意使用外掛,也可手動來實現。
搜尋 Uploads 目錄
儘管上面的外掛可以輕易做到這點,然後如果你屬性 SSH,則需要寫下面的命令即可搜尋到:
find uploads -name "*.php" -print
顯然在 uploads 目錄裡如果存在 php 檔案,我們應引起高度重視。一般這裡是媒體檔案。
刪除未啟用的主題
如上所述,這個未啟用的主題也是駭客們的目標。最直接的辦法就是刪除它。因為不必要的無需放在那裡,也不必花時間去找。
.htaccess 檔案
前段時間,我發現一個使用者的網站在這個檔案裡出現了重定向的程式碼,致使網站不能訪問。所以我們可以直接刪除這個檔案,然後到後臺設定固定連線儲存一下就會重新生成.htaccess 檔案。
wp-config.php 檔案
一般可以透過比較軟體來比較這個檔案與 wp-config-sample.php 的區別,一旦發現就清除。
掃描資料庫
有一些駭客他們會在資料庫裡新增一些執行程式碼,讓你不易發現。如 PHP 函式、新管理員帳戶、垃圾連結等等。這個新管理員帳戶在使用者列表中不易看到的。如果不熟悉 SQL 或不知從何開始,則需使用 Exploit Scanner 外掛或 Sucuri 外掛。
再次檢視一下網站
這些後面已經清除了嗎?別急。登入時瀏覽沒發現異常,請登入再瀏覽。因為有的後門非常的聰明,登入看不到,登出則會發現。
四、如何防範於未然?
顯然,但發現了後門之後,損失已經造成。所以我們平時應該加強安全意識,做到防患於未然。下面一些提示比較重要,有利於加強網站的安全。
- 使用強密碼 – 我們不建議使用純數字的密碼,也不建議使用少於 6 位的密碼。建議大於 6 位,多字元混合,大小寫混合。
- 2-步授權 –如果密碼被攻破了,則進行第二步驗證,透過手機驗證。現在已經有這方面的外掛。
- 限制登入嘗試 – 透過外掛來限制使用者登入錯誤密碼的次數。
- 關閉主題和外掛編輯 – 即使被登入進去,他們也不能修改你的主題和外掛。
- 密碼保護 WP-Admin – 你可以設定密碼保護此目錄,限制登入 IP 。
- 關閉 某個目錄下的 PHP 執行許可權 –包括上傳目錄和其它選擇的目錄。 T
- 保持更新 –使用最新的 WordPress 版本,保持外掛更新。