关于sql注入之cookie注入

小知识:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击,当然现在的网站已经很少有sql注入(get,post,cookie)了,但是有些网站还是存在这样的问题,比如说经常用别人模板的人,有些模板下面的文件目录下包含了当前网站的一些信息,你不及时发现就会给攻击者可乘之机,PHP网站的建设者一定要注意模板使用方面的问题。

百度百科:Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否是合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态

在ASP中,request对象获取客户端提交数据常用的是get和post两种方式,同时request对象可以不通过集合来获得数据,即直接使用"request("name")". 但它效率低下,容易出错,当我们省略具体的集合名称时,asp是按QueryString(get),Form(post),Cookie,Severvariable,集合的顺序来搜索的.cookie是保存在客户端的一个文本文件,可以进行修改,这样一来,就可以利用Request.cookie方式来提交变量的值,从而利用系统的漏洞进行注入攻击.


1.手工注入方式+如何判断是否存在cookie注入

首先 我们需要找到一个注入点,如果使用了防注入系统的,会阻止你的注入,目前我们是使用get方式提交的参数,要更改成cookie方式提交,我们首先要访问正常的存在注入点的页面,等页面完全打开之后,地址栏清空,然后写上:JavaScript:alert(document.cookie="id="+escape("x")); 这里的“id=”便是“注入点中id=x”中的“id=”,“escape("x")”中的“x”是“id=x”中的“x”了,这两处要根据实际情况来定义。写完之后按下回车网页中会弹出一个对话框

现在更改好了cookie后我们就要试下能不能正常访问了,现在在另外一个窗口中重新打开那个注入点既是将“id=x”去掉后的,然后看是否能正常访问。
如果去掉之后能够继续访问 那么说明可以进行cookie注入,这样就说明程序在使用request对象获取数据的时候并未指明具体使用什么方法来获取,而是直接使用request("xx")的方式。现在cookie形成的一个重要因素已经明确了,接下来我们测试下能否提交特殊字符,看程序是否对数据进行过滤。比如著名的单引号测试法 当然也就可以在语句上添加上手工注入的语句 达到绕过拦截的目的,然后的方式大家都懂了,手工注入就不再多说,会的同学就自己明白了,不会的同学也不要灰心,我们看工具来
2.通过手工+工具结合方式

下图是我找到的一个 网站的一个页面,我们首先进行判断,看它是否存在get注入

我们再链接后面加上 ‘ 单引号测试是否存在get注入弹出一个框框,我们再测试一下 and 1=1 报错,and 1=2同样报错, 这说明不存在get注入,网页也没有什么上传点,这是我们就来测试是否存在cookie注入,前面已经说过如何判断是否存在cookie注入,这里不再赘述,在这里我们是存在的,然后我们就可以通过手工进行爆表(这里我们可以使用火狐浏览器的一个插件 Hackbar,如何使用请自行百度),因为手工比较麻烦,而且需要猜表,步骤很繁琐,而且你不一定能猜对,当然手工进行是最原始最灵活的方式,也是必须要会的,这里我都不过多介绍了,只给大家一个简单代码,看得懂的同学就看看,看不懂的同学就跳过这个手工吧!

javascript:alert(document.cookie="id="+escape("11 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12 from admin"))

当我们判断出该点具有cookie注入之后,我们就使用一个中转注入工具,在本机上生成一个asp页面


这里的#注入url地址#和#来源页#d都是同一个值,就是我们那个注入点的位置,不行可后面参数,#post提交值是我们id后面的值#

点击生成asp后,找到这个asp,把它放到asp服务器上去(搭建asp服务器请自行百度,这里可以使用集成工具),搭建好环境后我们通过浏览器访问


能访问到页面内容就说明成功了!接下来就用我们平时常见的get注入进行猜解,这里避免繁琐,操作简单,我就使用明小子上了,这个工具但凡是搞过的人都应该知道,如何使用就不多说了。

很快,用户名##密码就出来了,这个你自己到www.xmd5.org去解密即可(我觉得这个md5站真的不错,比md5.com好,有很多在md5.com要收费的,xmd5.org都不会收费)


差不多就到此为止了,不懂的一些东西,可以自行百度,这里cookie注入也只能是简单的扩展你的渗透小姿势,这种漏洞是存在,但是大中型的asp站,几乎都不存在了,不过还是有一些的,你可以自己上网通过google hacker找找!!!!



  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值