|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-01-09, 09:36 PM | #1 |
榮譽會員
|
COOKIE欺騙
COOKIE欺騙(上)
來源:http://sunviva.yeah.net 現在有很多社區網為了方便網友瀏覽,都使用了cookie技術以避免多次輸入密碼(就如the9和vr),所以只要對伺服器遞交給用戶的cookie進行改寫就可以達到欺騙服務程序的目的。 COOKIE欺騙原理 按照瀏覽器的約定,只有來自同一域名的cookie才可以讀寫,而cookie只是瀏覽器的,對通訊傳輸協定無影響,所以要進行cookie欺騙可以有多種途徑: 1、跳過瀏覽器,直接對通訊資料改寫 2、修改瀏覽器,讓瀏覽器從本機可以讀寫任意域名cookie 3、使用簽名指令碼,讓瀏覽器從本機可以讀寫任意域名cookie(有安全問題) 4、欺騙瀏覽器,讓瀏覽器獲得假的域名 其中: 方法1、2需要較專業的編程知識,對普通用戶不太合適。 方法3的實現有2種方法: 1、直接使用簽名指令碼,不需要簽名驗證,但是產生很嚴重的安全問題,因為大家都要上網的,如果這樣做你的硬碟文件就…… 2、對指令碼進行簽名後再使用簽名指令碼,但是需要專用的數字簽名工具,對普通用戶也不合 適。 方法4看樣子應該是最合適的了,域名欺騙很簡單,也不需要什麼工具(當然如果你的機器裝有web伺服器那更好了),下面我以the9為例,以這種方法為基礎,闡述一下cookie欺騙的程序(下文中提到的任何服務端的bug,the9都已經做了改進,所以本文對the9無安全方面的影響): 註:我們討論的cookie是那種不會在硬碟的cookie文件裡留下蹤跡的cookie,就是那種只在瀏覽器生存週期內(會話)產生的cookie,如果瀏覽器關閉(會話結束)那麼這個cookie就被刪了! COOKIE欺騙實戰 the9在登入的時候會返回3個cookie(這可把瀏覽器的警告cookie選項開啟時看到): cgl_random(隨即序列號):登入識別的記號 cgl_loginname(登入名):身份的識別記號 cgl_areaid(小區號):你居住的小區號碼 只要把cgl_loginname填入正確的登入名,再對cgl_random進行修改,就可以達到欺騙服務程序的目的。 一般欺騙php程序的字串串為: 1''or''1''=''1 把這個填入cgl_random,服務程序就被欺騙了! 因為服務程序不太可能對cookie進行語法檢查(the9現在改進了),那麼把這個字串串填入,就可以成功的欺騙對方程序,而達到突破的目的了! 現在的問題是,如何使瀏覽器把這個我改過的cookie返回給the9? 看一看the9的域名吧:http://www.the9.com/,而瀏覽器的cookie警告已經告訴了我們這3個cookie會返回給有.the9.com這個域名的伺服器,哎?我的電腦上正好有web伺服器,那麼動手吧! 先編一個設定cookie的html,就叫cookie.htm吧,然後把這個cookie放進web目錄,這樣還不行,因為我的機器的域名沒設,那麼設定host的名字,可是如果在網路設定中進行設定的話,機器要重啟動的,還是想想別的簡單的辦法吧! 然後我們應該編輯hosts文件,這個文件應該在windows目錄下,你有可能找不到它,但是如果你找到了hosts.sam文件,那麼把它後面的副檔名去掉,就是我們要的文件了! 編輯hosts文件,填入以下一行: 127.0.0.1 www0.the9.com 解釋一下,127.0.0.1是本機的lo位址,可以用做web位址,而www0.the9.com就是我們欺騙產生的域名。 然後在瀏覽器中輸入http://www0.the9.com/cookie.htm,看,頁面出來了,快設定cookie吧 ! 直接訪問http;//www.the9.com/main.htm看看,不錯吧! 但是不是所有的網友都有自己的web伺服器啊!那怎麼辦呢? 其實如果你有個人主頁的話,也可以達到cookie欺騙的目的,比如某個個人主頁的伺服器的ip位址是1.2.3.4,先上傳cookie.htm文件,再編輯hosts文件: 1.2.3.4 www0.the9.com 然後訪問[url]http://www0.the9.com/***/cookie.htm,其中***是你個人主頁的位吝/url]}目錄。 對了我作了個工具在我的主頁上,現在公開一下,[url]http://home.etang.com/fsl/9the/,大家知道該怎麼做了吧?嘿嘿,不過你那樣訥/url]]定是沒有用的,要這樣編輯hosts: etang的ip www.the9.com the9的ip www0.the9.com 為什麼要這樣呢?我等會會告訴大家的 COOKIE欺騙(下) 來源:http://sunviva.yeah.net 繼續the9的cookie討論,還有2個cookie: cgl_mainshowinfo(個人信息) cgl_showinfo_changed(意義不知) 由於第二個cookie不知道是什麼,所以就討論第一個。 第一個cookie存放著你在the9的名字、稱號、居住的小區、街道、是否有工作、星級、門牌號等的信息(目前只知道這些,其餘的信息不知其意義,直接格式就讓給大家去分析了),但是中文都escape過了,如果你用的不是netscpae而是ie的話,不能用unescape得知其信息,因為ie對雙字元採用unicode而不採用ascii,如果哪天the9也支持unicode就好了!:), 但是其他網站站長注意了,你們可通過cgi的形式把這些the9居民信息抓過來實現資料共享! 哈哈……,如果你們真要這麼做,就只有使用簽名指令碼了,總不能讓別人編輯hosts吧(不過得注意版權哦!)? ie的cookie漏洞: 如果你用的是ie的話,由於ie本身的漏洞,你大可不必編輯hosts,就可以同樣做到讀寫別的域名的cookie,你可以使用以下的方法欺騙ie(直接的可以去www.cookiecentral.com看看) : 假設你的主頁文件為http://a.com/cookie.htm,使用以下url: http://a%2Ecom%2Fcookie%2Ehtm%3F.the9.com 如果直接輸在瀏覽器位址欄裡不行,就作個script,把location的值設為這個就可以了! 這個位址轉換後應該是這樣的: http://a.com/cookie.htm?.the9.com 由於ie的bug,誤把前面那個的域名以為是.the9.com了! hosts文件解釋 hosts文件實際上可以看成一個本機的dns系統,它可以負責把域名解釋成ip位址,它的優先權比dns伺服器要高,它的直接實現是TCP/IP傳輸協定中的一部分。 如果有這麼一行: 202.109.110.3 www.the9.com 那麼在輸入www.the9.com時,網路傳輸協定會首先檢查hosts文件找到匹配的,如果找不到再去dns查,這樣你訪問[url]www.the9.com實際上是訪問202.109.110.3,而不是通崙/url]`的202.109.110.2 。 註:由於緩衝的作用,如果開著瀏覽器編輯hosts的話,hosts裡的內容有可能不會當場生效,你可以重新啟動瀏覽器或等一會時間再試一下! 關於REFERER的欺騙(這個雖然不屬於cookie欺騙,但是懶得再寫一篇,就歸在一起了) referer是http頭,它的作用是簽定用戶是從何處引用連接的,在the9,服務程序就充分利用了這一點,如過你是手動輸入url的話,那麼referer不會設任何值,服務程序就返回什麼「 投機取巧」的字樣! 由於我們前面對瀏覽器進行了域名欺騙,那麼referer也被欺騙了,但是服務程序對referer是整個主機名檢查,所以www0.the9.com的域名就欺騙不了伺服器,所以得用[url]www.the9.com欺騙,那麼還得訥/url]]一個域名方便我們訪問the9,而且還得讓cookie返回給這個真的the9,那麼就用www0.the9.com吧!(這回知道前面訪問我主頁工具時要那樣編輯hosts了吧?) 如果你用了這個方法的話,那麼你就不能直接點擊the9的連接,而得用工具中的位址欺騙來進行訪問,至於這樣做的好處,大家自己找找吧,我就不想詳細說了,太累了! 關於netvampire: 這個下載工具大家都知道吧?那麼它的3.3版大家用過嗎?很棒的!因為它可以直接讓大家改變下載連接的referer,而且它還能繼承瀏覽器的cookie,把cookie返回給服務端(不過cookie不能改,如果能改的話,這個工具就太………………) 後記 好了關於cookie及referer就說到這了,在這個星期以前利用cookie欺騙的話the9的門戶可是大開的(當然似乎還有通用密碼什麼的),不過the9雖然改進了,我不能保證其他社區網也改進了,當然本文只是探討技術,不負什麼法律責任 |
送花文章: 3,
|
向 psac 送花的會員:
|
zera4321 (2014-03-09)
感謝您發表一篇好文章 |