2010-05-17 104 views
4

像往常一樣,只是想說預先感謝所有的幫助和輸入。所有PHP文件被黑客攻擊

我有一個特定的網站,我是Web開發人員,並遇到一個獨特的問題。似乎有什麼東西正在進入我的網站上的每個PHP文件並添加一些惡意代碼。我已經多次刪除了每個頁面的代碼,並更改了FTP和DB密碼,但無濟於事。

添加的代碼如下所示 - eval(base64_decode(string)) - 其中字符串是3024個字符。

不知道是否有其他人遇到了這個問題,或者如果任何人有我如何保證我的PHP代碼的想法。

再次感謝。

+0

這是自定義代碼嗎?或者它是WordPress還是類似的東西? – ceejayoz 2010-05-17 20:19:21

+0

這是自定義的,沒有任何內置CMS。 – nsearle 2010-05-17 20:35:36

+3

總結以下所有答案:請發佈更多詳情。它可能是不好的PHP或服務器配置問題或同一臺機器上的其他用戶......幾乎所有東西。編輯問題並編寫更多。 – naugtur 2010-05-17 20:37:27

回答

3

服務器本身可能會受到危害。將問題報告給您的虛擬主機。他們的迴應是什麼?

不安全的PHP腳本加上不正確的文件權限可能會給攻擊者修改PHP文件的能力。爲了消除這種可能性,我將網站關閉,刪除所有文件,重新上傳,然後在整個網站上切換權限以拒絕對文件系統的任何寫入。

編輯: 作爲短期修復試着問你的主機禁用eval()爲您的帳戶。如果他們值得他們的鹽,他們應該運行Suhosin其中有option to disable eval

+0

作爲結論 - 我確實跟進了託管公司,他們沒有太多幫助(去圖)。有趣的是,這幾個星期後剛剛出現並剛剛出現。我的一些團隊成員能夠找到問題。這是AWStats的過時版本。我們確保要求他們將AWStats更新到最新版本的服務器範圍,並且從此沒有任何問題。希望這有助於任何人! – nsearle 2012-03-28 00:17:40

0

您應該移動到另一臺服務器。看起來攻擊者可以訪問服務器或運行一些代碼作爲覆蓋文件的後臺進程。它可能可以識別和消除問題,但聰明的攻擊者會隱藏額外的腳本等,以便後來啓程。

+0

這很有道理。可悲的是,我現在無法控制託管公司。我甚至和他們談過支持,他們說這是一個PHP安全漏洞。 – nsearle 2010-05-17 20:36:36

1

是的,我自己遇到了這個問題,我認爲你是共享主機?你在機架空間雲嗎?

這就是我遇到這個問題的原因,你需要馬上做的第一件事情就是通知你的主機,這是一個託管問題,我懷疑惡意軟件在ftp級別訪問了你的服務器。

請確保您有什麼搭配chmod 777世界可寫的,如果它需要通過您的應用程序寫入使775

希望這可以幫助,祝你好運

+0

我在共享主機上,但不在rackspacecloud上。我已經通知我的託管解決方案,他們說這是一個PHP安全問題。 – nsearle 2010-05-17 20:38:13

+0

@nsearle,你能獲得比「這是一個PHP安全問題」更多的信息嗎?這是什麼意思? – 2010-05-17 21:03:12

+0

@馬庫斯亞當斯 - 這是一個偉大的問題。我只是被告知它可能是一些隨機的PHP安全問題,「我」需要加強我的問題。 GD再次失敗。 – nsearle 2010-05-17 21:06:43

1

您應該更改文件的權限,以便只有你可以寫入這些文件。 0777(我相信某些主機上的默認設置)只是要求麻煩。 See File Permissions.

另外,建議不要將任何不應該被public_html文件夾外的URL訪問的文件,例如配置文件。

1

我有類似的問題。然而,我的問題是我在我的網站上運行一個python代碼評估器。據我記得你需要使用eval()函數來執行python代碼。在我的一個php文件中,我有一個奇怪的eval語句。你在開發什麼樣的腳本?我的意思是它涉及其他一些代碼的評估?

0

我遇到了讀取filezilla conf文件的病毒。 我感動上帝。起初我是:WOW,然後我是:母親f *** sneaky b * stards。

檢查您的電腦是否有病毒。

+0

我使用Mac ... haha​​ – nsearle 2010-05-17 20:50:35

+0

爲什麼downvotes?這是最接近答案的方式。 – CurtainDog 2010-05-18 05:11:15

+0

我不認爲在這種情況下Mac會讓你更安全......當然,攻擊者不太可能接管你的整個系統,但是這裏或那裏的conf文件有不同的故事。 – CurtainDog 2010-05-18 05:13:36

0

其中一種可能的情況是有人設法以某種方式獲得寫訪問權限,並更改密碼等幫助,但他留下了一個仍然可以運行的PHP文件。

看看有沒有未知的文件。或刪除每一個該死的東西,並恢復一些備份。

2

您應該在您的php.ini或.htaccess中使用「disable_functions = eval,exec」作爲第一項措施。

0

獲取文件的最後修改時間,然後轉到您的訪問日誌(如果您不知道他們在哪裏詢問您的主機,請打開FTP,HTTP打開的任何東西),並找出系統中誰在附近那時候。

很可能攻擊者已經安裝了一個腳本,他們可以定期調用它來重新感染您修復的任何文件。

1

您還應該注意(假設您使用託管解決方案來託管您的網站),它幾乎從來不是您的錯。一個例子就是網絡解決方案託管公司最近有一臺服務器被黑客攻擊,超過1K個網頁受到影響,這不是由於每個特定站點上存在安全漏洞,而是由於對託管這些站點的特定服務器放置了一些不良配置/監控。如果你的代碼看不到任何安全明智的錯誤,也就是說你正確地清理了所有的東西,或者你運行的是你正在使用的任何CMS的非易受攻擊版本(如果你使用CMS),那麼它可能不是你的問題網站,只是一般的服務器。

相關問題