• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            道。道。道

            安全特性不等于安全的特性

               :: 首頁 :: 聯系 :: 聚合  :: 管理

            常用鏈接

            搜索

            •  

            最新評論

            正如我們所知道的,在網絡詞匯中,cookie是一個特殊的信息,雖然只是服務器存于用戶計算機上的一個文本文件,但由于其內容的不尋常性(與服務器有一定的互交性,且常會存儲用戶名,甚至口令,或是其它一些敏感信息,例如在江湖或是一些社區中,常會用cookie來保存用戶集分,等級等等)。因而成為一些高手關注的對像,借此來取得特殊權限,甚至攻克整個網站。本人出些拙作,以java script中對cookie的應用,來說初步說明cookie欺騙的實現過程及具體應用。 
               
               (一)cookie的建立 
               
              在講如何建立cookie之前,我們先來了解一下cookie的基本格式: 
               
              cookiename+cookievalue;expire=expirationdategmt;path=urlpath;domain=sitedomain 
               
              其中各項以;分開,首先是指定cookie的名稱,并為其賦值。接下來分別是cookie的有效期,url路徑以及域名,在這幾項中,除了第一項以外,其它部分均為可先項。 
              下面我們來看一段代碼,了解一下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"> 
               
              腳本開始的標記,由此一句告訴瀏覽器以下將是java script. 
               
              2,<!-- Hide script from older browsers 
               
              為了防止瀏覽器不能識別腳本,而讓瀏覽器誤以為是HTML注釋而忽略它。 
               
              3,expireDate = new Date 
               
              獲取當前日期,并存入變量expireDate中。 
               
              4,expireDate.setMonth(expireDate.getMonth()+6) 
               
              獲取當前月份值,將其加6后設置為expireDate的月份總值部分。這意味著本cookie的有效期為6個月。 
               
              5,if (documents .cookie != "") 
               
              如果document的值不為空,相當于檢查用戶硬盤上是否已經有了cookie。 
               
              6,userName = documents .cookie.split("=")[1] 
               
              此處用到了split("=")函數,它的功能是把cookie記錄分割為數組,cookie的名為cookie[0],值為cookie[1],以此累推。所以此處documents .cookie.split("=")[1]返回的值是此cookie的值。在此句中將值賦給了變量username。 
               
              7,function setCookie() 
               
              設置名為setCookie的函數。 
               
              8,documents .cookie = "userName="+userName+";expires=" + expireDate.toGMTString() 
               
              此句是將設置好的cookie寫入用戶硬盤。expireDate.toGMTString()把expireDate中的值轉換為文本字符串,這 
              樣才能寫入cookie中。 
               
              9,onLoad="document.myform.nameField.value = userName" 
               
              當頁面載入時,把username的值寫入文本框(如果有的話)。 
               
              10,onBlur="setCookie()" 
               
              當用戶離開文本框時,onBlur調用函數setCookie。 
               
              結合上面的注釋,讀那段代碼相信不成問題吧!既然我們可以建立cookie,那么讀取也不是什么難事,請接著往下看! 
               
               (二)讀取和顯示cookie 
               
              一般來說,cookie的作者并不希望cookie被顯示出來,這是當然的!天知道里面寫了些什么!?然而這也是我們想要讀出它的原因!~~~: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("; ")[注意:并非前文中出現過的split("=")。 
               
              split("; ")可以產生數組的結果,本句中,由documents .cookie.split("; ")來獲取cookie的值,并將這個數組賦值緞帶變量:thisCookie。 
               
              2,for (i=0; i<thisCookie.length; i++) 
               
              設置計算器變量i的值為0,如果其值小于thisCookie.length(thisCookie中值的個數),將i的值加1。 
               
              3,document.write("Cookie name is '"+thisCookie.split("=")[0]) 
               
              此句中thisCookie.split("=")[0]較難理解,上面的腳本中,thiscookie已經被賦值為一個數組的值,那么thisCookie是指數組中第i個值,也就是第i個cookie,而由上文可知split("=")[0]是指cookie的名字。 
              這樣thisCookie.split("=")[0]便是第i的cookie中cookie的名字! 
               
              4,document.write("', and the value is '"+thisCookie.split("=")[1] 
               
              跟3極為相似,即是第i個cookie中 cookie的值。 
               
              到此,我們已經熟悉了如何建立cookie以及它的讀取。這些也正是cookie欺騙也需要的主要技術!
               
               (三)cookie欺騙的實現 
               
              要做到cookie欺騙,最重要的是理解目標cookie中的儲值情況,并設法改變它。由上面的學習我們知道,基于cookie的格式所限,一般來說,只有在Cookie.split("=")[0]和Cookie.split("=")[1]中的值對我們才是有用的。也就是說只需改變這兩處或是處的值即可達到我們的目的。 
              而在實際操作中,還得先解決另一個問題。 
              由于受瀏覽器的內部cookie機制所限,每個cookie只能被它的原服務器所訪問!可我們總不能跑到人家服務器上操作吧!這里就需要一個小技巧了。 
              在上面我們提到過cookie的格式,最后兩項中分別是它的url路徑和域名。不難想到,服務器對cookie的識別靠的就是這個! 
              而在平時,我們要瀏覽一個網站時,輸入的url便是它的域名,需要經過域名管理系統dns將其轉化為IP地址后進行連接的。這其中就有一個空當。如果能在dns上做手腳,把目標域名的IP地址對應到其它站點上,我們便可以非法訪問目標站點的cookie了! 
              做到這一點并不難,當然我不并不是要去操縱dns,而且那也是不可能的事情。在win9下的安裝目錄下,有一名為hosts.sam的文件,以文本方式打開后會看到這樣的格式: 
              127.0.0.1 lockhost #注釋 
              利用它,我們便可以實現域名解析的本地化!而且其優先權高于網絡中的dns! 
              具體使用時,只需將IP和域名依上面的格式添加,并另存為hosts即可!(注意:此文件無后贅名,并非hosts.sam 文件本身!) 
               
              到此,cookie欺騙所需的所以知識已經齊備。下面以一個“假”的例子,演示一下如何進入實戰.(不便給出真實地址,以免引起犯罪!~~~:P) 
              假設目標站點是 www.xxx.com 
              www.self.com是自己的站點。(可以用來存放欺騙目標所需的文件,用來讀取和修改對方的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的頁面傳至www.self.com(腳本如二所示)。 
              此時連上www.xxx.com。由于我們已經對hosts動過手腳,這時來到的并不是www.xxx.com,而是www.self.com 
              www.xxx.com設在本地的cookie便可被讀出!~~:D 
              然后根據具體情況修改一的腳本,用同樣的方法,向此cookie中寫入數據。修改完畢后,刪掉hosts文件,再重新進入www.xxx.com,此時已經大功告成,可享受你的hack成果了!~~~:) 
               
              [編后] 
              cookie欺騙是一種發現較早,且較難使用的hack手法,除了java script 可以控制以外,asp等也可以用來對其進進設置。所以在此聲名,未必能對所有站點有較。但技術真實,無須置疑! 
               
              補充:在win2000中hosts文件的建立與win98不同,需要c:\winnt\system32\drivers\etc文件夾中創建!
            posted on 2007-10-30 21:05 獨孤九劍 閱讀(290) 評論(0)  編輯 收藏 引用 所屬分類: Learn articles
            www.久久热| 国产精品99久久免费观看| 狠狠精品久久久无码中文字幕| 国产三级精品久久| 天堂无码久久综合东京热| 色婷婷综合久久久久中文一区二区| 亚洲中文字幕无码久久2017| 大伊人青草狠狠久久| 老司机午夜网站国内精品久久久久久久久| 一级a性色生活片久久无少妇一级婬片免费放| 99精品国产99久久久久久97| 天天爽天天爽天天片a久久网| 久久夜色精品国产噜噜亚洲a| 国产成人精品综合久久久| 国内精品久久久久久不卡影院| 狠狠色综合网站久久久久久久高清 | 色噜噜狠狠先锋影音久久| 性高湖久久久久久久久AAAAA| 久久精品亚洲一区二区三区浴池 | 久久噜噜久久久精品66| 人妻少妇久久中文字幕一区二区| 久久久久99精品成人片三人毛片| 久久久久久亚洲精品成人| 日日狠狠久久偷偷色综合免费| 国产精品久久永久免费| 日本人妻丰满熟妇久久久久久| 亚洲国产成人精品女人久久久 | 欧美日韩精品久久久久| 久久人妻少妇嫩草AV无码蜜桃| 国内精品久久久久伊人av| 国产成年无码久久久免费| 欧美激情精品久久久久久久九九九 | 中文精品久久久久人妻不卡| 亚洲欧美国产精品专区久久| 成人亚洲欧美久久久久| 久久九九亚洲精品| 一级做a爰片久久毛片16| 蜜桃麻豆www久久| 久久久久久国产精品无码下载| 久久久久亚洲AV无码专区桃色| 亚洲国产一成久久精品国产成人综合|