Cookie 注入是怎樣產(chǎn)生的
更新時(shí)間:2009年04月08日 21:13:37 作者:
現(xiàn)在很多網(wǎng)站都加了防注入系統(tǒng)代碼,你輸入注入語句將無法注入~~感覺這樣的防注入系統(tǒng)不錯(cuò),但防注入系統(tǒng)沒有注意到 Cookies 的問題!所以就有了Cookies注入~~
我們來研究一下怎樣情況下才會(huì)有Cookies注入!如果你學(xué)過ASP你應(yīng)該會(huì)知道
Request.QueryString (GET)
或
Request.Form (POST)
呵,沒錯(cuò),這就是我們用于讀取用戶發(fā)給WEB服務(wù)器的指定鍵中的值!我們有時(shí)為了簡(jiǎn)化代碼,會(huì)寫成
ID=Request("ID")
這樣寫法是簡(jiǎn)單了,但問題就來了~~~我們先看WEB服務(wù)是怎樣讀取數(shù)據(jù)的,他是先取GET中的數(shù)據(jù),沒有再取POST中的數(shù)據(jù),還會(huì)去取Cookies中的數(shù)據(jù)(暈,書上沒有這么說,這是和小高交流時(shí)才知道~~看來書說的不全~~)
我們?cè)倏纯捶雷⑷胂到y(tǒng),他會(huì)檢測(cè)GET和POST中的數(shù)據(jù),如果有特殊字符(這里當(dāng)然是注入字符了)!就禁止數(shù)據(jù)的提交! 但他沒有檢測(cè)Cookies的數(shù)據(jù)!問題就來了~~~那我們?cè)鯓訙y(cè)試是否有Cookies注入問題~請(qǐng)先看下面的的連接(示例用,所以連接不是真的)
http://www.xxx.com/1.asp?id=123
如果我們只輸http://www.xxx.com/1.asp時(shí),就不能看到正常的數(shù)據(jù),因?yàn)闆]有參數(shù)!我們想知道有沒有Cookies問題(也就是有沒有Request("XXX") 格式問題),先用IE輸入http://www.xxx.com/1.asp
加載網(wǎng)頁,顯示不正常(沒有輸參數(shù)的原因)之后在IE輸入框再輸入
javascript:alert(document.cookie="id="+escape("123"));
按回車,你會(huì)看到彈出一個(gè)對(duì)話框 內(nèi)容是: id=123 之后,你刷新一個(gè)網(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注入問題的,因?yàn)榉?wù)程序是直截從GET或POST中讀取數(shù)據(jù)的,Cookies是否有數(shù)據(jù),WEB服務(wù)器是不理的,所以是不能利用Cookies注入的!~
復(fù)制代碼 代碼如下:
Request.QueryString (GET)
或
復(fù)制代碼 代碼如下:
Request.Form (POST)
呵,沒錯(cuò),這就是我們用于讀取用戶發(fā)給WEB服務(wù)器的指定鍵中的值!我們有時(shí)為了簡(jiǎn)化代碼,會(huì)寫成
復(fù)制代碼 代碼如下:
ID=Request("ID")
這樣寫法是簡(jiǎn)單了,但問題就來了~~~我們先看WEB服務(wù)是怎樣讀取數(shù)據(jù)的,他是先取GET中的數(shù)據(jù),沒有再取POST中的數(shù)據(jù),還會(huì)去取Cookies中的數(shù)據(jù)(暈,書上沒有這么說,這是和小高交流時(shí)才知道~~看來書說的不全~~)
我們?cè)倏纯捶雷⑷胂到y(tǒng),他會(huì)檢測(cè)GET和POST中的數(shù)據(jù),如果有特殊字符(這里當(dāng)然是注入字符了)!就禁止數(shù)據(jù)的提交! 但他沒有檢測(cè)Cookies的數(shù)據(jù)!問題就來了~~~那我們?cè)鯓訙y(cè)試是否有Cookies注入問題~請(qǐng)先看下面的的連接(示例用,所以連接不是真的)
http://www.xxx.com/1.asp?id=123
如果我們只輸http://www.xxx.com/1.asp時(shí),就不能看到正常的數(shù)據(jù),因?yàn)闆]有參數(shù)!我們想知道有沒有Cookies問題(也就是有沒有Request("XXX") 格式問題),先用IE輸入http://www.xxx.com/1.asp
加載網(wǎng)頁,顯示不正常(沒有輸參數(shù)的原因)之后在IE輸入框再輸入
javascript:alert(document.cookie="id="+escape("123"));
按回車,你會(huì)看到彈出一個(gè)對(duì)話框 內(nèi)容是: id=123 之后,你刷新一個(gè)網(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注入問題的,因?yàn)榉?wù)程序是直截從GET或POST中讀取數(shù)據(jù)的,Cookies是否有數(shù)據(jù),WEB服務(wù)器是不理的,所以是不能利用Cookies注入的!~
相關(guān)文章
JavaScript語法高亮插件highlight.js用法詳解【附highlight.js本站下載】
這篇文章主要介紹了JavaScript語法高亮庫(kù)highlight.js用法,詳細(xì)分析了highlight.js的下載、調(diào)用及具體使用技巧,需要的朋友可以參考下2016-11-11
使用JavaScript將PDF頁面中的標(biāo)注扁平化的操作指南
扁平化(flatten)操作可以將標(biāo)注作為矢量圖形包含在PDF頁面的內(nèi)容中,使其不可編輯,Dynamsoft Document Viewer是一個(gè)用于文檔掃描和查看的JavaScript SDK,可以添加標(biāo)注、導(dǎo)出PDF,在本文中,我們將探討如何使用它,需要的朋友可以參考下2025-01-01
京東優(yōu)選小程序的實(shí)現(xiàn)代碼示例
這篇文章主要介紹了京東優(yōu)選小程序的實(shí)現(xiàn)代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
javascript簡(jiǎn)單實(shí)現(xiàn)命名空間效果
這篇文章主要介紹了javascript簡(jiǎn)單的實(shí)現(xiàn)命名空間效果的方法。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-03-03
JS正則表達(dá)式實(shí)現(xiàn)字符串中連續(xù)在一起的字符去重
這篇文章主要給大家介紹了關(guān)于JS正則表達(dá)式實(shí)現(xiàn)字符串中連續(xù)在一起的字符去重的相關(guān)資料,學(xué)會(huì)正則表達(dá)式對(duì)開發(fā)者而言是個(gè)非常有用的技能,很多功能可以簡(jiǎn)單的用一句正則來實(shí)現(xiàn),需要的朋友可以參考下2023-11-11
帶你使用webpack快速構(gòu)建web項(xiàng)目的方法
這篇文章主要介紹了帶你使用webpack快速構(gòu)建web項(xiàng)目的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
JS應(yīng)用正則表達(dá)式轉(zhuǎn)換大小寫示例
這篇文章主要介紹了JS應(yīng)用正則表達(dá)式轉(zhuǎn)換大小寫,以首字母大寫,其它字母小寫為例,喜歡的朋友可以參考下2014-09-09

