AGAMES 討論區

 找回密碼
 快速註冊
搜索
查看: 2471|回復: 0
打印 上一主題 下一主題

[轉貼] Cookie注入怎樣產生的 [複製鏈接]

Rank: 7Rank: 7Rank: 7

帖子
5052
EXP
6727 點
金幣
6300 個
好友
0
註冊時間
2008-3-21
跳轉到指定樓層
樓主
發表於 2008-4-9 12:43:29 |只看該作者 |正序瀏覽
Cookie注入怎樣產生的
現在很多網站都加了防注入系統代碼,你輸入注入語句將無法注入~~感覺這樣的防注入系統不錯,但防注入系統沒有注意到 Cookies 的問題!所以就有了Cookies注入~~



  我們來研究一下怎樣情況下才會有Cookies注入!如果你學過ASP你應該會知道



  Request.QueryString (GET)或Request.Form (POST)!



  呵,沒錯,這就是我們用於讀取用戶發給WEB伺服器的指定鍵中的值!我們有時為了簡化代碼,會寫成ID=Request("ID")



  這樣寫法是簡單了,但問題就來了~~~我們先看WEB服務是怎樣讀取資料的,他是先取GET中的資料,沒有再取POST中的資料,還會去取Cookies中的資料(暈,書上沒有這麼說,這是和小高交流時才知道~~看來書說的不全~~)



  我們再看看防注入系統,他會檢測GET和POST中的資料,如果有特殊字元(這裏當然是注入字元了)!就禁止資料的提交! 但他沒有檢測Cookies的資料!問題就來了~~~那我們怎樣測試是否有Cookies注入問題~請先看下面的的連接(示例用,所以連接不是真的)



  http://www.xxx.com/1.asp?id=123



  如果我們只輸http://www.xxx.com/1.asp時,就不能看到正常的資料,因為沒有參數!我們想知道有沒有Cookies問題(也就是有沒有Request("XXX")格式問題),先用IE輸入http://www.xxx.com/1.asp



  載入網頁,顯示不正常(沒有輸參數的原因)之後在IE輸入框再輸入



        javascript:alert(document.cookie="id="+escape("123"));



  按回車,你會看到彈出一個對話方塊 內容是: id=123 之後,你刷新一個網頁,如果正常顯示,表示是用Request("ID")這樣的格式收集資料~~~~,這種格式就可以試Cookies注入了在輸入框中輸入



  javascript:alert(document.cookie="id="+escape("123 and 3=3"));



  刷新頁面,如果顯示正常,可以再試下一步(如果不正常,就有可能也有過濾了)



  javascript:alert(document.cookie="id="+escape("123 and 3=4"));



  刷新一下頁面,如果不正常顯示,這就表示有注入了~~~如果程式師是用



  Request.QueryString或Request.Form



  收集資料的話,是沒有Cookies注入問題的,因為服務程式是直截從GET或POST中讀取資料的,Cookies是否有資料,WEB伺服器是不理的,所以是不能利用Cookies注入的!~



  --------------------------------------------------------------------------



  為了方便不懂的朋友瞭解



  javascript:alert(document.cookie="id="+escape("123"));



  的意思,我說明一下



  document.cookie="id="+escape("123")



  就是把 123 保存到Cookies 的 ID 中



  alert(xxx)



  就是彈對話方塊

世事豈能盡如人意,但求無愧於心。
Alta Multimedia - Youtube:http://www.youtube.com/user/altahk
您需要登錄後才可以回帖 登錄 | 快速註冊

Archiver|手機版|AGAMES 討論區

GMT+8, 2024-11-27 13:26 , Processed in 0.040849 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回頂部