Cookie SQL注入


轉自http://blog.sina.com.cn/s/blog_6b347b2a0101379o.html

cookie注入其原理也和平時的注入一樣,只不過說我們是將提交的參數已cookie方式提交了,而一般的注入我們是使用get或者post方式提交,get方式提交就是直接在網址后面加上需要注入的語句,post則是通過表單方式,get和post的不同之處就在於一個我們可以通過IE地址欄處看到我們提交的參數,而另外一個卻不能。

相對post和get方式注入來說,cookie注入就要稍微繁瑣一些了,要進行cookie注入,我們首先就要修改cookie,這里就需要使用到Javascript語言了。另外cookie注入的形成有兩個必須條件,

   條件1:是程序對get和post方式提交的數據進行了過濾,但未對cookie提交的數據庫進行過濾。

   條件2:在條件1的基礎上,還需要程序對提交數據獲取方式是直接request("xxx")的方式,未指明使用request對象的具體方法進行獲取。

1、先打開http://www.st3yy.com/experts_info.asp?id=128,等頁面完全打開之后,我們將IE地址欄清空

2、在空白的地址欄上,填寫上,以下內容
   javascript:alert(document.cookie="id="+escape("128"));

這里的“id=”便是“http://www.st3yy.com/experts_info.asp?id=128”中的“id=”,“escape("128")”中的“128”是“http://www.st3yy.com/experts_info.asp?id=128”中的“id=218”了,這兩處要具體根據所獲的數據來決定)

3、進行了第二步了,打開另一個窗口中,試一下,訪問http://www.st3yy.com/experts_info.asp?(既是將“id=128”去掉后),然后看是否能正常訪問。

4、從上圖可以看到,與之前可見訪問之后的頁面與訪問http://www.st3yy.com/experts_info.asp?id=128效果是一樣的。

   從這里可以知道,程序在使用request對象獲取數據的時候並未指明具體使用什么方法來獲取,而是直接使用request("xx")的方式。

 

   現在cookie形成的一個重要因素已經明確了。

 

5、第三步,測試一下是否能提交接特殊字符,看程序是否對數據進行過濾。我們再回到剛才更改cookie的頁面,然后在IE地址欄處填寫

 

javascript:alert(document.cookie="id="+escape("128 and 1=1"));

6、看頁面是否正常,如果正常我們再提交

      javascript:alert(document.cookie="id="+escape("128 and 1=2"));  

7、接下來的工作就和get post注入一樣了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM