背景:今日,吃完午饭,坐在电脑旁,合上了那本前天刚到手的sql查询的艺术,深深的打了哈欠,伸了个懒腰。眼睛往电脑屏幕上扫了一眼,看见了Cookie注入,这对于已经看完sql查询的我来说,还是那么陌生。我擦了擦那本去年买来的sql注入那本书,有滋有味的找到了Cookie注入。嗯,没错,这一年来我还是有进步的,我已经能看懂十分之一了。好吧,开始网上搜集大佬们的各种博客,确实找到了很多,所以来记录下我和Cookie中转注入的第一次接触。
印象:有Cookie那般羞涩,又有javascript的成熟端庄,细节就不和你们描述了。总之我挺满意的。
原理:
首先来了解下 ASP 中的 request对象
[+] 用来获取客户端提交的数据
[+] 使用方法一般是这样的:request.[集合名称](参数名称),比如获取从表单中提交的数据时可以这样 写:request.form("参数 名 称"),但ASP中规定也可以省略集合名称,直接用这样的方式获取数据:request("参数名称"),当使用这样的方式获取数据时,ASP规定是按 QueryString、Form、Cookies、ServerVariables的顺序来获取数据的。这样,当我们使用request("参数名 称")方式获取客户端提交的数据,并且没有对使用request.cookies("参数名称")方式提交的数据进行过滤时,Cookie注入就产生了。<复制别人的,懒得写了,和Cookie一起运动的多了>
注入步骤:
[+] 目标URL “.asp?id=xx"
[+] 首先 去掉 "id=xx" ,查看页面显示是否正常,如果不正常,说明参数在数据传递中有用,那么就可以进行第三步了。
[+] 清空浏览器地址栏 输入" javascript:alert(document.cookie="id="+escape("xx and 1=1"));" 按 Enter
输入" javasciprt:alert(document.cookie="id="+escape("xx and 1=2"));" 按 Enter
其实和基本sql注入差不多,只是现在需要把参数变成cookie,并且上面的javascript:[...]是在把cookie加在cookies后面
[+] 接下来就是你很熟悉的操作了,手工注入缓缓登场
What ? 手工注入我不会啊!没事,接下来带来工具表演
[+] 打开你的Cookie注入中转工具 <界面类似下图>
[+] 键名填写 存在Cookie注入页面提交参数名
不对不对,先选择右边的COOKIE注入,不然会有神奇的事
不用改正常的Cookie值那一栏的值 再把 jmdcw = 15 改为 jmdcw = 参数值 <不能修改jmdcw>
点击生成 ASP
[+] 现在请 明小子 入场! WTF? 3p? 不,它是一款工具,没有的请下载!
然后就可以扫成功了!
<我得去休息休息了,今天就在这!过几天我会在去找Cookie再续前缘,还有高级没学那!一起探讨,一起学习!>