一:cookie注入的形成
程序对提交数据获取方式是直接request("c.s.t")的方式.未指明使用request对象的具体方法进行获取。
二:原理
request("c.s.t"),这就是未指明使用request对象的具体方法进行获取。
request.querystring("c.s.t"),这是获取get提交数据的;
request.form("c.s.t"),这是获取post提交的数据的;
未指明使用request对象的具体方法进行获取,可以都接收get,post,cookie方式提交的数据。
一般程序只是过滤了get和post注入,如果没有过滤cookie注入语句,我们就可以进行注入了。
三:利用:
1:判断是否存在cookie注入
要判断是否存在cookie注入的可能,我们可以使用下面的方法判断该页面是采取什么方式接受数据的
我们首先要访问正常的页面,即是:http://www.fenghuohack.com /article.asp?id=1,等页面打开之后,我们将IE地址栏清空,然后写 上:javascript:alert(document.cookie="id="+escape("1")); 这里的“id=”便是“article.asp?id=1”中的“id=”,“escape("1")”中的“1”是 “article.asp?id=1”中的“id=1”了,这两处要根据实际情况来定义。之后按下回车网页中会弹出一个对话框。
更改好了cookie后,我们就要试下能不能正常访问了,在另外一个窗口中我们打开以下地址:http://www.fenghuohack.com /article.asp? 既是将“id=1”去掉后的,然后看是否能正常访问。
如果可以正常显示,那么就是以request("c.s.t")方式获取数据的,一般只是过滤了get和post注入,如果没有过滤cookie注入语句,我们就可以进行注入了。
2:注入方法:
cookie的方法其实与普通的注入差不多,我们再回到刚才更改cookie的页面,然后在浏览器地址栏处填写
javascript:alert(document.cookie="id="+escape("1 and 2=2"));
回车后再去
http://www.fenghuohack.com /article.asp? 刷新页面,看页面是否正常,
如果正常我们再提交 javascript:alert(document.cookie="id="+escape("1 and 2=3")); 然后再去刷新。
如果你看见出错了,那么说明存在注入的。把javascript:alert(document.cookie="id="+escape("1 and 2=2")); 后面的and 2=2改成sql语句即可!