Cookie 注入是怎樣產(chǎn)生的
更新時間:2009年04月08日 21:13:37 作者:
現(xiàn)在很多網(wǎng)站都加了防注入系統(tǒng)代碼,你輸入注入語句將無法注入~~感覺這樣的防注入系統(tǒng)不錯,但防注入系統(tǒng)沒有注意到 Cookies 的問題!所以就有了Cookies注入~~
我們來研究一下怎樣情況下才會有Cookies注入!如果你學過ASP你應該會知道
Request.QueryString (GET)
或
Request.Form (POST)
呵,沒錯,這就是我們用于讀取用戶發(fā)給WEB服務器的指定鍵中的值!我們有時為了簡化代碼,會寫成
ID=Request("ID")
這樣寫法是簡單了,但問題就來了~~~我們先看WEB服務是怎樣讀取數(shù)據(jù)的,他是先取GET中的數(shù)據(jù),沒有再取POST中的數(shù)據(jù),還會去取Cookies中的數(shù)據(jù)(暈,書上沒有這么說,這是和小高交流時才知道~~看來書說的不全~~)
我們再看看防注入系統(tǒng),他會檢測GET和POST中的數(shù)據(jù),如果有特殊字符(這里當然是注入字符了)!就禁止數(shù)據(jù)的提交! 但他沒有檢測Cookies的數(shù)據(jù)!問題就來了~~~那我們怎樣測試是否有Cookies注入問題~請先看下面的的連接(示例用,所以連接不是真的)
http://www.xxx.com/1.asp?id=123
如果我們只輸http://www.xxx.com/1.asp時,就不能看到正常的數(shù)據(jù),因為沒有參數(shù)!我們想知道有沒有Cookies問題(也就是有沒有Request("XXX") 格式問題),先用IE輸入http://www.xxx.com/1.asp
加載網(wǎng)頁,顯示不正常(沒有輸參數(shù)的原因)之后在IE輸入框再輸入
javascript:alert(document.cookie="id="+escape("123"));
按回車,你會看到彈出一個對話框 內(nèi)容是: id=123 之后,你刷新一個網(wǎng)頁,如果正常顯示,表示是用
Request("ID")
這樣的格式收集數(shù)據(jù)~~~~,這種格式就可以試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
收集數(shù)據(jù)的話,是沒有Cookies注入問題的,因為服務程序是直截從GET或POST中讀取數(shù)據(jù)的,Cookies是否有數(shù)據(jù),WEB服務器是不理的,所以是不能利用Cookies注入的!~
復制代碼 代碼如下:
Request.QueryString (GET)
或
復制代碼 代碼如下:
Request.Form (POST)
呵,沒錯,這就是我們用于讀取用戶發(fā)給WEB服務器的指定鍵中的值!我們有時為了簡化代碼,會寫成
復制代碼 代碼如下:
ID=Request("ID")
這樣寫法是簡單了,但問題就來了~~~我們先看WEB服務是怎樣讀取數(shù)據(jù)的,他是先取GET中的數(shù)據(jù),沒有再取POST中的數(shù)據(jù),還會去取Cookies中的數(shù)據(jù)(暈,書上沒有這么說,這是和小高交流時才知道~~看來書說的不全~~)
我們再看看防注入系統(tǒng),他會檢測GET和POST中的數(shù)據(jù),如果有特殊字符(這里當然是注入字符了)!就禁止數(shù)據(jù)的提交! 但他沒有檢測Cookies的數(shù)據(jù)!問題就來了~~~那我們怎樣測試是否有Cookies注入問題~請先看下面的的連接(示例用,所以連接不是真的)
http://www.xxx.com/1.asp?id=123
如果我們只輸http://www.xxx.com/1.asp時,就不能看到正常的數(shù)據(jù),因為沒有參數(shù)!我們想知道有沒有Cookies問題(也就是有沒有Request("XXX") 格式問題),先用IE輸入http://www.xxx.com/1.asp
加載網(wǎng)頁,顯示不正常(沒有輸參數(shù)的原因)之后在IE輸入框再輸入
javascript:alert(document.cookie="id="+escape("123"));
按回車,你會看到彈出一個對話框 內(nèi)容是: id=123 之后,你刷新一個網(wǎng)頁,如果正常顯示,表示是用
Request("ID")
這樣的格式收集數(shù)據(jù)~~~~,這種格式就可以試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
收集數(shù)據(jù)的話,是沒有Cookies注入問題的,因為服務程序是直截從GET或POST中讀取數(shù)據(jù)的,Cookies是否有數(shù)據(jù),WEB服務器是不理的,所以是不能利用Cookies注入的!~
相關文章
isArray()函數(shù)(JavaScript中對象類型判斷的幾種方法)
我們知道,JavaScript中檢測對象類型的運算符有:typeof、instanceof,還有對象的constructor屬性2009-11-11uniapp存儲數(shù)據(jù)到本地文件及讀取本地文件數(shù)據(jù)代碼示例
這篇文章主要給大家介紹了關于uniapp存儲數(shù)據(jù)到本地文件及讀取本地文件數(shù)據(jù)的相關資料,在開發(fā)uniapp應用時,我們常常需要使用本地存儲來保存一些數(shù)據(jù),比如用戶登錄信息、設置項等,本文通過代碼介紹的非常詳細,需要的朋友可以參考下2023-09-09利用prop-types第三方庫對組件的props中的變量進行類型檢測
本篇文章主要介紹了利用prop-types第三方庫對組件的props中的變量進行類型檢測的相關知識,具有很好的參考價值。下面跟著小編一起來看下吧2017-05-05