當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  搜索優(yōu)化 >  正文

網(wǎng)站排名被劫持的解決辦法

 2015-05-21 17:23  來(lái)源: 互聯(lián)網(wǎng)   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

很多站長(zhǎng)可能都遇到過(guò)一種黑客攻擊方式,就是在搜索引擎結(jié)果頁(yè)中看到自己的網(wǎng)站,但是點(diǎn)開(kāi)后卻跳轉(zhuǎn)到一些其他網(wǎng)站,比如*,虛假?gòu)V告,淘寶搜索頁(yè)面等等。

這種情況產(chǎn)生的直接后果就是:

用戶流失。試想如果你做的是個(gè)電商網(wǎng)站,做了很多的SEO優(yōu)化或者競(jìng)價(jià)排名后,用戶卻再也無(wú)法通過(guò)搜索引擎找到你的網(wǎng)站,這是多么悲催的一件事。

網(wǎng)站被攔截。如果你的網(wǎng)站被劫持到一些非法站點(diǎn)上導(dǎo)致網(wǎng)站被標(biāo)記為非法、賭博或者惡意代碼時(shí),可能直接會(huì)被各種瀏覽器和搜索引擎標(biāo)記為“惡意網(wǎng)站”從而直接攔截。世間最痛苦的事莫過(guò)于此,我是好人,特么的可我被人陰了……

可信度降低。你苦心經(jīng)營(yíng)網(wǎng)站多年,樹(shù)立口碑不容易。一日被黑,日日被劫持。從此以后用戶通過(guò)搜索引擎打開(kāi)你的網(wǎng)站不是色情就是賭博。正常業(yè)務(wù)啥都沒(méi)了,也別再談什么可信度和口碑了。

其實(shí)當(dāng)站長(zhǎng)們遇到搜索引擎劫持時(shí)根本不用慌,認(rèn)真閱讀下文即可:

回到正題,昨天晚上有個(gè)用戶找到我,說(shuō)是網(wǎng)站搜索結(jié)果頁(yè)被劫持了,弄現(xiàn)在到處都認(rèn)為他的網(wǎng)站是個(gè)*網(wǎng)站,各路封殺蜂擁而至。今天一上班就幫這個(gè)用戶把網(wǎng)站處理干凈,同時(shí)也加入了網(wǎng)站衛(wèi)士的防護(hù)體系,整理出排查問(wèn)題的全過(guò)程供各位站長(zhǎng)們參考。

分析中使用到的工具:Fiddler (官網(wǎng):),國(guó)內(nèi)很多下載站也能下到這個(gè)工具。

場(chǎng)景重現(xiàn):用戶在百度輸入:XXX(他網(wǎng)站的關(guān)鍵字)

結(jié)果頁(yè)中能看到,但是點(diǎn)開(kāi)后立刻跳轉(zhuǎn)到一個(gè)*網(wǎng)站

然后的故事大家都知道了,悲劇如下圖:

手把手第一步:判斷劫持方式

這一步主要判斷當(dāng)前劫持是通過(guò)javascript代碼實(shí)現(xiàn)還是通過(guò)PHP/ASP等腳本代碼實(shí)現(xiàn)。

打開(kāi)fiddler,先按F11下個(gè)HTTP請(qǐng)求斷點(diǎn),然后點(diǎn)擊百度結(jié)果頁(yè),去fiddler里看請(qǐng)求。點(diǎn)一下右邊綠色的這個(gè)按鈕

每點(diǎn)擊一步,就會(huì)通過(guò)一個(gè)請(qǐng)求。從結(jié)果看到本次搜索引擎劫持只用了3步,此時(shí)我們能得出一個(gè)結(jié)論:本案例中的這個(gè)網(wǎng)站劫持是通過(guò)PHP程序代碼實(shí)現(xiàn)的劫持,劫持過(guò)程如下圖:

從百度鏈接點(diǎn)過(guò)來(lái)會(huì)跳到用戶網(wǎng)站本身,此時(shí)沒(méi)有加載任何js和css等資源就直接又跳到*網(wǎng)站。

這一步是如何實(shí)現(xiàn)從用戶網(wǎng)站跳轉(zhuǎn)到*網(wǎng)站的呢,原理其實(shí)很簡(jiǎn)單,請(qǐng)看下圖:

這個(gè)跳轉(zhuǎn)的HTTP請(qǐng)求代碼是302,通過(guò)一個(gè)location重定向到*網(wǎng)站。由于該網(wǎng)站使用的是PHP程序,在PHP里通過(guò)header()函數(shù)即可實(shí)現(xiàn)頁(yè)面重定向。

手把手第二步:查找可疑代碼

既然知道了劫持的原理和目標(biāo)*網(wǎng)站,就比較容易查出惡意代碼了。該用戶的服務(wù)器是windows2003,通過(guò)遠(yuǎn)程連接上去,在windows系統(tǒng)下可以用findstr命令輕松查找任意文本所在的文件位置。在本案例中我們只需要查找哪些文件里出現(xiàn)了86896這個(gè)關(guān)鍵字即可。命令行下構(gòu)造查詢命令如下:

findstr /s /i “86896″ D:\web\xxx.org\*.php

關(guān)鍵字后面跟的是網(wǎng)站根目錄,這行命令的意思是遍歷網(wǎng)站根目錄下的所有php文件,查找出其中包含“86896“字符的文件。執(zhí)行這個(gè)命令我們可以得到以下結(jié)果輸出:

通過(guò)結(jié)果可以很明顯的看出,黑客入侵了該網(wǎng)站并且修改了discuz論壇里\source\class\class_core.php這個(gè)核心文件,在這個(gè)文件里面加入了實(shí)現(xiàn)劫持的location跳轉(zhuǎn)惡意代碼。

這個(gè)黑客植入的惡意代碼還是比較“小白“的,沒(méi)有用任何加密等其他隱藏手段,直接可以通過(guò)關(guān)鍵字查找出來(lái)。完整的惡意代碼如下圖:

這段惡意代碼的功能就是把所有user-agent和referer里包含搜索引擎信息的網(wǎng)站訪問(wèn)請(qǐng)求內(nèi)容全部劫持為*網(wǎng)站,幫用戶刪除這一段PHP代碼后,網(wǎng)站就立刻恢復(fù)正常啦~

通過(guò)這個(gè)案例分析,希望讓站長(zhǎng)知道,這種搜索引擎流量劫持攻擊的技術(shù)含量并沒(méi)有那么深不可測(cè),通過(guò)兩個(gè)步驟:

首先判斷劫持方式,如果是js代碼劫持,找出來(lái)惡意js代碼刪除就行,如果是腳本劫持,請(qǐng)參考本文介紹的方式。

其次就是用findstr(windows)命令或者grep(linux)命令去服務(wù)器上找出惡意代碼所在的文件,刪除惡意代碼即可。

SEO專題推薦:

關(guān)鍵詞優(yōu)化專題:網(wǎng)站關(guān)鍵詞優(yōu)化沒(méi)效果?來(lái)這里學(xué)習(xí)最實(shí)用的關(guān)鍵詞優(yōu)化技巧!

內(nèi)鏈優(yōu)化專題:最能提升網(wǎng)站權(quán)重的內(nèi)鏈部署優(yōu)化技巧與方法

外鏈建設(shè)專題:高質(zhì)量自然外鏈怎么做?讀完這些你將質(zhì)的飛躍

網(wǎng)站降權(quán)專題:2015年最有用的網(wǎng)站降權(quán)、被K、被黑、被攻擊的解決方法

用戶體驗(yàn)專題:學(xué)習(xí)完這些,作為站長(zhǎng)的你可以秒懂如何做網(wǎng)站用戶體驗(yàn)

行業(yè)網(wǎng)站專題:優(yōu)化行業(yè)網(wǎng)站的“葵花寶典”看完后無(wú)優(yōu)化壓力

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
網(wǎng)站被劫持

相關(guān)文章

熱門排行

信息推薦