免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
解析Cookie欺騙實(shí)現(xiàn)過程及具體應(yīng)用
解析Cookie欺騙實(shí)現(xiàn)過程及具體應(yīng)用

www.hackbase.com 閱讀: 19990 時(shí)間:2005-10-11 1:58:07 來源:www.hackbase.com

正如我們所知道的,在網(wǎng)絡(luò)詞匯中,cookie是一個(gè)特殊的信息,雖然只是服務(wù)器存于用戶計(jì)算機(jī)上的一個(gè)文本文件,但由于其內(nèi)容的不尋常性(與服務(wù)器有一定的互交性,且常會(huì)存儲(chǔ)用戶名,甚至口令,或是其它一些敏感信息,例如在江湖或是一些社區(qū)中,常會(huì)用cookie來保存用戶集分,等級(jí)等等)。因而成為一些高手關(guān)注的對像,借此來取得特殊權(quán)限,甚至攻克整個(gè)網(wǎng)站。本人出些拙作,以java script中對cookie的應(yīng)用,來說初步說明cookie欺騙的實(shí)現(xiàn)過程及具體應(yīng)用。

  一、cookie的建立

  在講如何建立cookie之前,我們先來了解一下cookie的基本格式:

  cookiename+cookievalue;expire=expirationdategmt;path=urlpath;domain=sitedomain

  其中各項(xiàng)以;分開,首先是指定cookie的名稱,并為其賦值。接下來分別是cookie的有效期,url路徑以及域名,在這幾項(xiàng)中,除了第一項(xiàng)以外,其它部分均為可先項(xiàng)。

  下面我們來看一段代碼,了解一下cookie究竟是怎樣建立的:

  <HTML>
  <HEAD>
  <TITLE>Set a cookie based on a form</TITLE>
  <SCRIPT LANGUAGE="java script" TYPE="TEXT/java script">
  <!-- Hide script from older browsers
  
  expireDate = new Date
  expireDate.setMonth(expireDate.getMonth()+6)
  
  userName = ""
  if (documents .cookie != "") {
  userName = documents .cookie.split("=")[1]
  }
  
  function setCookie() {
  userName = document.myform.nameField.value
  documents .cookie = "userName="+userName+";expires=" + expireDate.toGMTString()
  }
  
  // End hiding script -->
  </SCRIPT>
  </HEAD>
  <BODY BGCOLOR="WHITE" onLoad="document.myform.nameField.value = userName">
  <form NAME="myform">
  <H1>Enter your name:<INPUT TYPE="TEXT" NAME="nameField" onBlur="setCookie()"></H1>
  </form>
  </BODY>
  </HTML>

  這是一段簡單的建立cookie的腳本。

  
     1.

  <SCRIPT LANGUAGE="java script" TYPE="TEXT/java script">

  腳本開始的標(biāo)記,由此一句告訴瀏覽器以下將是java script.

  2.

<!-- Hide script from older browsers

  為了防止瀏覽器不能識(shí)別腳本,而讓瀏覽器誤以為是HTML注釋而忽略它。

  3.expireDate = new Date

  獲取當(dāng)前日期,并存入變量expireDate中。

  4.expireDate.setMonth(expireDate.getMonth()+6)

  獲取當(dāng)前月份值,將其加6后設(shè)置為expireDate的月份總值部分。這意味著本cookie的有效期為6個(gè)月。

  5.if (documents .cookie != "")

  如果document的值不為空,相當(dāng)于檢查用戶硬盤上是否已經(jīng)有了cookie。

  6.userName = documents .cookie.split("=")[1]

  此處用到了split("=")函數(shù),它的功能是把cookie記錄分割為數(shù)組,cookie的名為cookie[0],值為cookie[1],以此累推。所以此處documents .cookie.split("=")[1]返回的值是此cookie的值。在此句中將值賦給了變量username。

  7.function setCookie()

  設(shè)置名為setCookie的函數(shù)。

  8.documents .cookie = "userName="+userName+";expires=" + expireDate.toGMTString()

  此句是將設(shè)置好的cookie寫入用戶硬盤。expireDate.toGMTString()把expireDate中的值轉(zhuǎn)換為文本字符串,這樣才能寫入cookie中。

  9.onLoad="document.myform.nameField.value = userName"

  當(dāng)頁面載入時(shí),把username的值寫入文本框(如果有的話)。

  10.onBlur="setCookie()"

  當(dāng)用戶離開文本框時(shí),onBlur調(diào)用函數(shù)setCookie。

  結(jié)合上面的注釋,讀那段代碼相信不成問題吧!既然我們可以建立cookie,那么讀取也不是什么難事,請接著往下看!

  二、讀取和顯示cookie

  一般來說,cookie的作者并不希望cookie被顯示出來,這是當(dāng)然的!天知道里面寫了些什么!?然而這也是我們想要讀出它的原因!~~~:D

  <HTML>
  <HEAD>
  <TITLE>Cookie Check</TITLE>
  </HEAD>
  <BODY BGCOLOR="WHITE">
  <H2>
  <SCRIPT LANGUAGE="java script" TYPE="TEXT/java script">
  <!-- Hide script from older browsers
  
  if (documents .cookie == "") {
  document.write("There are no cookies here")
  }
  else {
  thisCookie = documents .cookie.split("; ")
  
  for (i=0; i<thisCookie.length; i++) {
  document.write("Cookie name is ’"+thisCookie.split("=")[0])
  document.write("’, and the value is ’"+thisCookie.split("=")[1]+"’<BR>")
  }
  }
  
  // End hiding script -->
  </SCRIPT>
  </H2>
  </BODY>
  </HTML>

  以上的便是一段讀取cookie的名字和值的腳本。上文中解釋過的語句在此不多贅述,且看有什么新的語法:

  1.thisCookie = documents .cookie.split("; ")[注意:并非前文中出現(xiàn)過的split("=")。

  split("; ")可以產(chǎn)生數(shù)組的結(jié)果,本句中,由documents .cookie.split("; ")來獲取cookie的值,并將這個(gè)數(shù)組賦值緞帶變量:thisCookie。

  2. for (i=0; i
  設(shè)置計(jì)算器變量i的值為0,如果其值小于thisCookie.length(thisCookie中值的個(gè)數(shù)),將i的值加1。

  3.document.write("Cookie name is ’"+thisCookie.split("=")[0])

  此句中thisCookie.split("=")[0]較難理解,上面的腳本中,thiscookie已經(jīng)被賦值為一個(gè)數(shù)組的值,那么thisCookie是指數(shù)組中第i個(gè)值,也就是第i個(gè)cookie,而由上文可知split("=")[0]是指cookie的名字。

  這樣thisCookie.split("=")[0]便是第i的cookie中cookie的名字!

  4. document.write("’, and the value is ’"+thisCookie.split("=")[1]

  跟3極為相似,即是第i個(gè)cookie中 cookie的值。

  到此,我們已經(jīng)熟悉了如何建立cookie以及它的讀取。這些也正是cookie欺騙也需要的主要技術(shù)!


三、cookie欺騙的實(shí)現(xiàn)

  要做到cookie欺騙,最重要的是理解目標(biāo)cookie中的儲(chǔ)值情況,并設(shè)法改變它。由上面的學(xué)習(xí)我們知道,基于cookie的格式所限,一般來說,只有在Cookie.split("=")[0]和Cookie.split("=")[1]中的值對我們才是有用的。也就是說只需改變這兩處或是處的值即可達(dá)到我們的目的。

  而在實(shí)際操作中,還得先解決另一個(gè)問題。由于受瀏覽器的內(nèi)部cookie機(jī)制所限,每個(gè)cookie只能被它的原服務(wù)器所訪問!可我們總不能跑到人家服務(wù)器上操作吧!這里就需要一個(gè)小技巧了。

  在上面我們提到過cookie的格式,最后兩項(xiàng)中分別是它的url路徑和域名。不難想到,服務(wù)器對cookie的識(shí)別靠的就是這個(gè)!

  而在平時(shí),我們要瀏覽一個(gè)網(wǎng)站時(shí),輸入的url便是它的域名,需要經(jīng)過域名管理系統(tǒng)dns將其轉(zhuǎn)化為IP地址后進(jìn)行連接的。這其中就有一個(gè)空當(dāng)。如果能在dns上做手腳,把目標(biāo)域名的IP地址對應(yīng)到其它站點(diǎn)上,我們便可以非法訪問目標(biāo)站點(diǎn)的cookie了!

  做到這一點(diǎn)并不難,當(dāng)然我不并不是要去操縱dns,而且那也是不可能的事情。在win9下的安裝目錄下,有一 名為hosts.sam的文件,以文本方式打開后會(huì)看到這樣的格式:
  127.0.0.1 lockhost #注釋

  利用它,我們便可以實(shí)現(xiàn)域名解析的本地化!而且其優(yōu)先權(quán)高于網(wǎng)絡(luò)中的dns!

  具體使用時(shí),只需將IP和域名依上面的格式添加,并另存為hosts即可!(注意:此文件無后贅名,并非hosts.sam 文件本身!)

  到此,cookie欺騙所需的所以知識(shí)已經(jīng)齊備。下面以一個(gè)“假”的例子,演示一下如何進(jìn)入實(shí)戰(zhàn).(不便給出真實(shí)地址,以免引起犯罪!~~~:P)

  假設(shè)目標(biāo)站點(diǎn)是 www.xxx.com

  www.self.com是自己的站點(diǎn)。(可以用來存放欺騙目標(biāo)所需的文件,用來讀取和修改對方的cookie.)

  首先ping出www.self.com的IP地址:

  ping www.self.com

  Reply from 12.34.56.78: bytes=32 time=20ms TTL=244

  然后修改hosts.sam文件如下:

  12.34.56.78 www.xxx.com

  并保存為hosts。

  將用來讀取cookie的頁面?zhèn)髦?a >www.self.com(腳本如二所示)。

  此時(shí)連上www.xxx.com。由于我們已經(jīng)對hosts動(dòng)過手腳,這時(shí)來到的并不是www.xxx.com,而是www.self.com

  www.xxx.com設(shè)在本地的cookie便可被讀出!~~:D

  然后根據(jù)具體情況修改一的腳本,用同樣的方法,向此cookie中寫入數(shù)據(jù)。修改完畢后,刪掉hosts文件,再重新進(jìn)入www.xxx.com,此時(shí)已經(jīng)大功告成,可享受你的hack成果了!~~~:)

  編后

  cookie欺騙是一種發(fā)現(xiàn)較早,且較難使用的hack手法,除了java script 可以控制以外,asp等也可以用來對其進(jìn)進(jìn)設(shè)置。所以在此聲明,未必能對所有站點(diǎn)有較。但技術(shù)真實(shí),無須置疑!

  補(bǔ)充:在win2000中hosts文件的建立與win98不同,需要c:\winnt\system32\drivers\etc文件夾中創(chuàng)建!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JS版網(wǎng)站風(fēng)格切換實(shí)例代碼
web前端:細(xì)解cookie那些事
JavaScript創(chuàng)建cookie
一篇文章帶你了解JavaScript cookies
php簡單的cookie登錄
靜態(tài)頁面的值傳遞(三部曲). (最完整版)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服