很多站長可能都遇到過一種黑客攻擊方式,就是在搜索引擎結果頁中看到自己的網站,但是點開后卻跳轉到一些其他網站,比如*,虛假廣告,淘寶搜索頁面等等。
這種情況產生的直接后果就是:
用戶流失。試想如果你做的是個電商網站,做了很多的SEO優(yōu)化或者競價排名后,用戶卻再也無法通過搜索引擎找到你的網站,這是多么悲催的一件事。
網站被攔截。如果你的網站被劫持到一些非法站點上導致網站被標記為非法、賭博或者惡意代碼時,可能直接會被各種瀏覽器和搜索引擎標記為“惡意網站”從而直接攔截。世間最痛苦的事莫過于此,我是好人,特么的可我被人陰了……
可信度降低。你苦心經營網站多年,樹立口碑不容易。一日被黑,日日被劫持。從此以后用戶通過搜索引擎打開你的網站不是色情就是賭博。正常業(yè)務啥都沒了,也別再談什么可信度和口碑了。
其實當站長們遇到搜索引擎劫持時根本不用慌,認真閱讀下文即可:
回到正題,昨天晚上有個用戶找到我,說是網站搜索結果頁被劫持了,弄現(xiàn)在到處都認為他的網站是個*網站,各路封殺蜂擁而至。今天一上班就幫這個用戶把網站處理干凈,同時也加入了網站衛(wèi)士的防護體系,整理出排查問題的全過程供各位站長們參考。
分析中使用到的工具:Fiddler (官網:),國內很多下載站也能下到這個工具。
場景重現(xiàn):用戶在百度輸入:XXX(他網站的關鍵字)
結果頁中能看到,但是點開后立刻跳轉到一個*網站
然后的故事大家都知道了,悲劇如下圖:
手把手第一步:判斷劫持方式
這一步主要判斷當前劫持是通過javascript代碼實現(xiàn)還是通過PHP/ASP等腳本代碼實現(xiàn)。
打開fiddler,先按F11下個HTTP請求斷點,然后點擊百度結果頁,去fiddler里看請求。點一下右邊綠色的這個按鈕
每點擊一步,就會通過一個請求。從結果看到本次搜索引擎劫持只用了3步,此時我們能得出一個結論:本案例中的這個網站劫持是通過PHP程序代碼實現(xiàn)的劫持,劫持過程如下圖:
從百度鏈接點過來會跳到用戶網站本身,此時沒有加載任何js和css等資源就直接又跳到*網站。
這一步是如何實現(xiàn)從用戶網站跳轉到*網站的呢,原理其實很簡單,請看下圖:
這個跳轉的HTTP請求代碼是302,通過一個location重定向到*網站。由于該網站使用的是PHP程序,在PHP里通過header()函數(shù)即可實現(xiàn)頁面重定向。
手把手第二步:查找可疑代碼
既然知道了劫持的原理和目標*網站,就比較容易查出惡意代碼了。該用戶的服務器是windows2003,通過遠程連接上去,在windows系統(tǒng)下可以用findstr命令輕松查找任意文本所在的文件位置。在本案例中我們只需要查找哪些文件里出現(xiàn)了86896這個關鍵字即可。命令行下構造查詢命令如下:
findstr /s /i “86896″ D:\web\xxx.org\*.php
關鍵字后面跟的是網站根目錄,這行命令的意思是遍歷網站根目錄下的所有php文件,查找出其中包含“86896“字符的文件。執(zhí)行這個命令我們可以得到以下結果輸出:
通過結果可以很明顯的看出,黑客入侵了該網站并且修改了discuz論壇里\source\class\class_core.php這個核心文件,在這個文件里面加入了實現(xiàn)劫持的location跳轉惡意代碼。
這個黑客植入的惡意代碼還是比較“小白“的,沒有用任何加密等其他隱藏手段,直接可以通過關鍵字查找出來。完整的惡意代碼如下圖:
這段惡意代碼的功能就是把所有user-agent和referer里包含搜索引擎信息的網站訪問請求內容全部劫持為*網站,幫用戶刪除這一段PHP代碼后,網站就立刻恢復正常啦~
通過這個案例分析,希望讓站長知道,這種搜索引擎流量劫持攻擊的技術含量并沒有那么深不可測,通過兩個步驟:
首先判斷劫持方式,如果是js代碼劫持,找出來惡意js代碼刪除就行,如果是腳本劫持,請參考本文介紹的方式。
其次就是用findstr(windows)命令或者grep(linux)命令去服務器上找出惡意代碼所在的文件,刪除惡意代碼即可。
SEO專題推薦:
關鍵詞優(yōu)化專題:網站關鍵詞優(yōu)化沒效果?來這里學習最實用的關鍵詞優(yōu)化技巧!
內鏈優(yōu)化專題:最能提升網站權重的內鏈部署優(yōu)化技巧與方法
外鏈建設專題:高質量自然外鏈怎么做?讀完這些你將質的飛躍
網站降權專題:2015年最有用的網站降權、被K、被黑、被攻擊的解決方法
用戶體驗專題:學習完這些,作為站長的你可以秒懂如何做網站用戶體驗
行業(yè)網站專題:優(yōu)化行業(yè)網站的“葵花寶典”看完后無優(yōu)化壓力
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!