2016-07-22 65 views
2

好了WP文件,這是一個有點問題:如何查找腐敗的PHP或WordPress的網站

我最近得到了與一家IT公司(小型企業級)工作,和他們做一點點Web開發。最初,老闆讓第三方自由開發人員爲一個主要客戶建立了一個網站。他對他的服務不滿意,所以他把它交給我(管理網站,改變事情等)。我發現該網站被列入垃圾郵件黑名單,並且可能是所謂的「StealRat僵屍網絡」。我已經做了一些閱讀,發現它通常在wp-content/plugins文件夾和/或php文件中找到,它們不應該在那裏。

在家裏,我在一臺Linux機器上,所以我能夠進入服務器(也使用Filezilla GUI)。有沒有人有關於如何跟蹤這些損壞的文件並擺脫此問題的任何提示?我試過篩選文件,但我不知道我在找什麼。任何幫助表示讚賞,因爲這是一個主要問題。

回答

4

大多數損壞的WordPress網站是由於惡意主題和/或插件。

嘗試搜索exec(base64_decode(eval(每種情況(如那些隱藏在惡意文件中最常見的片段)在你的wp-content /主題都和的wp-content/plugins目錄你的php文件,這應該是一個好的開始。

如果你知道什麼時候該網站已被感染,你也可以嘗試尋找在那個時候(容易SSH做,如果你有訪問服務器)

祝你好運編輯或添加的文件,我最近不得不清理幾個WordPress網站,這不是蛋糕散步。

4

首先,進行備份並測試從備份操作恢復工作!

  1. 如果這是衆所周知的惡意軟件,您可能需要查看惡意軟件掃描程序。一個免費的開源選項是Maldet from rfxn。我沒有鏈接到該項目,我不知道它有多好,但它可以設置爲每天掃描(cron作業)並通過電子郵件發送報告,並且我認爲它每天更新其簽名。

  2. 通過禁用不需要使用常規代碼的函數來加強您的PHP安裝。使用this cheat sheet讓你開始。

  3. 按創建日期對文件排序會很有幫助。如果網站在一段時間內沒有改變,最近的文件應該被仔細檢查。如果您知道感染何時發生,那麼一定要使用這些信息來磨合文件。

  4. 爲了安全起見,您可以在默認情況下拒絕所有PHP文件的執行,並且只允許在批准列表中執行所有PHP文件。 See my answer here獲得靈感。要建立「良好」文件的白名單,我將在php.ini中啓用auto_append_file設置。該文件在每個腳本會話結束時運行(docs)。在該文件中,您可以使用get_included_files函數來獲取所有已執行文件的列表。如果您將此列表寫入日誌,然後瀏覽網站的每個未感染頁面,您將獲得所有合法PHP文件的列表。這是你的白名單!一旦擁有它,使用auto_prepend_file(也在php.ini中設置)來阻止任何不屬於該列表的PHP。攻擊者下次嘗試運行PHP腳本時,始終首先運行的auto_prepend_file會阻止它。

  5. 每一款軟件都會增加您的攻擊面,因此請卸載所有未使用的插件。更新所有正在使用的內容。如果可能的話啓用自動更新(我不熟悉WordPress的,但這是一個普遍的安全提示)