理论
Cookie的定义是这样的:Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。通常被用来辨别用户身份、进行session跟踪.
Cookie注入简单来说就是利用Cookie而发起的注入攻击。从本质上来讲,Cookie注入与传统的SQL注入并无不同
Cookie注入典型步骤
1.寻找形如“.asp?id=xx”类的带参数的URL。
2.去掉“id=xx”查看页面显示是否正常,如果不正常,说明参数在数据传递中是直接起作用的。
3.清空浏览器地址栏,输入“javascript:alert(document.cookie=”id=”+escape(“xx”));”,按Enter键后弹出一个对话框,内容是“id=xx”,然后用原来的URL刷新页面,如果显示正常,说明应用使用Request(“id”)这种方式获取数据的。
4.重复上面的步骤,将常规SQL注入中的判断语句带入上面的URL:“javascript:alert(document.cookie=”id=”+escape(“xx and 1=1”));” “javascript:alert(document.cookie=”id=”+escape(“xx and 1=2”));”。和常规SQL注入一样,如果分别返回正常和不正常页面,则说明该应用存在注入漏洞,并可以进行cookie注入。
5.使用常规注入语句进行注入即可。
一、5.1.1、Access注入 — Cookie注入
1、寻找注入点
进入靶场http://59.63.200.79:8004/shownews.asp?id=171
看到GET传参id,先来直接试一试
咦?貌似可以欸,通过判断当前页面存在10个字段
![86bfbc92e23653815183ba551e55d1bc.png](https://img-blog.csdnimg.cn/img_convert/86bfbc92e23653815183ba551e55d1bc.png)
2、判断回显位置
可惜 被过滤掉了
![4700ea30081abea83a8564092c6829d9.png](https://img-blog.csdnimg.cn/img_convert/4700ea30081abea83a8564092c6829d9.png)
而且没有什么搜索栏。
那么看一看cookie能不能注入呢?
启动小工具,将页面原本的cookie删除,并添加自定义的cookie,然后把页面的?id=xx删掉,f5刷新页面试一试
![cc9bee18f48393e3eba1edc61f59dc43.png](https://img-blog.csdnimg.cn/img_convert/cc9bee18f48393e3eba1edc61f59dc43.png)
貌似……有变化欸。好像可行。
![c4a34c9fb53bf15394012686fbacd56c.png](https://img-blog.csdnimg.cn/img_convert/c4a34c9fb53bf15394012686fbacd56c.png)
那么接下来直接判断显错位咯
![74418777473c3144909752ceeca87e39.png](https://img-blog.csdnimg.cn/img_convert/74418777473c3144909752ceeca87e39.png)
然鹅……貌似不行。这是因为cookie是需要url编码后进行传输滴……
![1a5574fd157787808d862b020fc00140.png](https://img-blog.csdnimg.cn/img_convert/1a5574fd157787808d862b020fc00140.png)
进入网站http://tool.chinaz.com/tools/urlencode.aspx
将语句进行编码,完成后再试试
还是不行,语句没错,猜测是否是其他类型数据库。
![4257abee0f1e8b02c72453e8834753af.png](https://img-blog.csdnimg.cn/img_convert/4257abee0f1e8b02c72453e8834753af.png)
经过测试,确认是access数据库
这个数据库的查询语句必须跟表名……
而我们又不知道表名,所以只能爆破咯
用burp抓个包
经过爆破后得到,应该是有忽略大小写。
![3c71a3ba30640211c2eb6eade14d9840.png](https://img-blog.csdnimg.cn/img_convert/3c71a3ba30640211c2eb6eade14d9840.png)
查询admin表
找到回显位2,3,7,8,9
![f55d8fc4e3c22352186fe5635e010e56.png](https://img-blog.csdnimg.cn/img_convert/f55d8fc4e3c22352186fe5635e010e56.png)
3、查询数据
由于access数据库没有系统自带的information_schema库,所以我们还是要爆破……
用burp抓包
我们通过爆破字段名来获得数据。
![007844abdb32241e44f4ad5905b2ef9a.png](https://img-blog.csdnimg.cn/img_convert/007844abdb32241e44f4ad5905b2ef9a.png)
爆破完成后得到字段名id/password/username
通过字段名查询数据
得到username=admin
password=b9a2a2b5dffb918c
密码是md5加密
进入http://cmd5.com网站进行解码
得到结果welcome
然后进入http://59.63.200.79:8004/admin/Login.asp
![a2325d2b2674afc261c9e8074826fcf7.png](https://img-blog.csdnimg.cn/img_convert/a2325d2b2674afc261c9e8074826fcf7.png)
输入账号密码
成功拿到flag提交成功