新闻资讯
看你所看,想你所想

cookie欺骗

cookie欺骗

cookie欺骗

现在有很多社区网为了方便网友浏览,都使用了cookie技术以避免多次输入密码(就如the9和vr),所以只要对伺服器递交给用户的cookie进行改写就可以达到欺骗服务程式的目的。

COOKIE欺骗原理

按照浏览器的约定,只有来自同一域名的cookie才可以读写,而cookie只是浏览器的,对通讯协定无影响。

基本介绍

  • 中文名:cookie欺骗
  • 外文名:Cookie theft
  • 欺骗方法:跳过浏览器,直接对通讯数据改写
  • 目的:盗取用户信息
  • 性质:欺骗性盗取他人信息的行为

介绍

Cookies欺骗是通过盗取、修改、伪造Cookies的内容来欺骗Web系统,并得到相应许可权或者进行相应许可权操作的一种攻击方式。
正如我们所知道的,在网路辞彙中,cookie是一个特殊的信息,虽然只是伺服器存于用户计算机上的一个文本档案,但由于其内容的不寻常性(与伺服器有一定的互交性,且常会存储用户名,甚至口令,或是其它一些敏感信息,例如在江湖或是一些社区中,常会用cookie来保存用户集分,等级等等)。因而成为一些高手关注的对象,藉此来取得特殊许可权,甚至攻克整个网站。

欺骗方法

所以要进行cookie欺骗可以有多种途径:
1、跳过浏览器,直接对通讯数据改写
2、修改浏览器,让浏览器从本地可以读写任意域名cookie
3、使用签名脚本,让浏览器从本地可以读写任意域名cookie(有安全问题)
4、欺骗浏览器,让浏览器获得假的域名
其中:
方法1、2需要较专业的编程知识,对普通用户不太合适。
方法3的实现有2种方法:
1、直接使用签名脚本,不需要签名验证,但是产生很严重的安全问题,因为大家都要上网的,如果这样做你的硬碟档案就……
2、对脚本进行签名后再使用签名脚本,但是需要专用的数字签名工具,对普通用户也不合适。
方法4看样子应该是最合适的了,域名欺骗很简单,也不需要什幺工具(当然如果你的机器装有web伺服器那更好了),下面我以the9为例,以这种方法为基础,阐述一下cookie欺骗的过程(下文中提到的任何服务端的bug,the9都已经做了改进,所以本文对the9无安全方面的影响):
注:我们讨论的cookie是那种不会在硬碟的cookie档案里留下蹤迹的cookie,就是那种只在浏览器生存周期内(会话)产生的cookie,如果浏览器关闭(会话结束)那幺这个cookie就被删了!

COOKIE欺骗实战

the9在登入的时候会返回3个cookie(这可把浏览器的警告cookie选项打开时看到):
cgl_random(随即序列号):登入识别的记号
cgl_loginname(登入名):身份的识别记号
cgl_areaid(小区号):你居住的小区号码
只要把cgl_loginname填入正确的登入名,再对cgl_random进行修改,就可以达到欺骗服务程式的目的。
一般欺骗php程式的字元串为:
1''or''1''=''1
把这个填入cgl_random,服务程式就被欺骗了!
因为服务程式不太可能对cookie进行语法检查(the9现在改进了),那幺把这个字元串填入,就可以成功的欺骗对方程式,而达到突破的目的了!
现在的问题是,如何使浏览器把这个我改过的cookie返回给the9?
看一看the9的域名吧:而浏览器的cookie警告已经告诉了我们这3个cookie会返回给有.the9.com这个域名的伺服器,哎?我的机器上正好有web伺服器,那幺动手吧!
先编一个设定cookie的html,就叫cookie.htm吧,然后把这个cookie放进web目录,这样还不行,因为我的机器的域名没设,那幺设定host的名字,可是如果在网路设定中进行设定的话,机器要重启动的,还是想想别的简单的办法吧!
然后我们应该编辑hosts档案,这个档案应该在windows目录下,你有可能找不到它,但是如果你找到了hosts.sam档案,那幺把它后面的扩展名去掉,就是我们要的档案了!
编辑hosts档案,填入以下一行:
但是不是所有的网友都有自己的web伺服器啊!那怎幺办呢?
其实如果你有个人主页的话,也可以达到cookie欺骗的目的,比如某个个人主页的伺服器的
ip地址是1.2.3.4,先上传cookie.htm档案,再编辑hosts档案:
为什幺要这样呢?我等会会告诉大家的
继续the9的cookie讨论,还有2个cookie:
cgl_mainshowinfo(个人信息)
cgl_showinfo_changed(意义不知)
由于第二个cookie不知道是什幺,所以就讨论第一个。
第一个cookie存放着你在the9的名字、称号、居住的小区、街道、是否有工作、星级、门牌号等的信息(目前只知道这些,其余的信息不知其意义,具体格式就让给大家去分析了),但是中文都escape过了,如果你用的不是netscpae而是ie的话,不能用unescape得知其信息,因为ie对双位元组採用unicode而不採用ascii,如果哪天the9也支持unicode就好了!:),但是其他网站站长注意了,你们可通过cgi的形式把这些the9居民信息抓过来实现数据共享!
哈哈……,如果你们真要这幺做,就只有使用签名脚本了,总不能让别人编辑hosts吧(不过得注意着作权喔!)?
ie的cookie漏洞:
如果直接输在浏览器地址栏里不行,就作个script,把location的值设为这个就可以了!
由于ie的bug,误把前面那个的域名以为是.the9.com了!
hosts档案解释
hosts档案实际上可以看成一个本机的dns系统,它可以负责把域名解释成ip地址,它的优先权比dns伺服器要高,它的具体实现是TCP/IP协定中的一部分。
注:由于快取的作用,如果开着浏览器编辑hosts的话,hosts里的内容有可能不会当场生效,你可以重新启动浏览器或等一会时间再试一下!
关于REFERER的欺骗(这个虽然不属于cookie欺骗,但是懒得再写一篇,就归在一起了)
referer是http头,它的作用是签定用户是从何处引用连线的,在the9,服务程式就充分利用了这一点,如过你是手动输入url的话,那幺referer不会设任何值,服务程式就返回什幺“投机取巧”的字样!
如果你用了这个方法的话,那幺你就不能直接点击the9的连线,而得用工具中的地址欺骗来进行访问,至于这样做的好处,大家自己找找吧,我就不想详细说了,太累了!
关于netvampire:
这个下载工具大家都知道吧?那幺它的3.3版大家用过吗?很棒的!因为它可以直接让大家改变下载连线的referer,而且它还能继承浏览器的cookie,把cookie返回给服务端(不过cookie不能改,如果能改的话,这个工具就太………………)
后记
好了关于cookie及referer就说到这了,在这个星期以前利用cookie欺骗的话the9的门户可是大开的(当然似乎还有通用密码什幺的),不过the9虽然改进了,我不能保证其他社区网也改进了,当然本文只是探讨技术,不负什幺法律责任。

session和cookies不同点

session和cookies同样都是针对单独用户的变数(或者说是对象好像更合适点),不同的用户在访问网站的时候 都会拥有各自的session或者cookies,不同用户之间互不干扰。
他们的不同点是:
1,存储位置不同
session在伺服器端产生,比较安全,但是如果session较多则会影响性能
cookies在客户端产生,安全性稍弱
2,生命周期不同
session生命周期 在指定的时间(如20分钟)到了之后会结束,不到指定的时间,也会随着浏览器进程的结束而结束。
cookies默认情况下也随着浏览器进程结束而结束,但如果手动指定时间,则不受浏览器进程结束的影响。

预防cookie欺骗

不要在公共场登入 自己重要的用户名和密码; 不用的时候,【关闭浏览器】,只点【退出】,还是会有安全隐患。
cookie加密, 加密虽然看不懂cookie,但根本就不需要知道cookie是什幺含义,请求的时候把【截取】到的cookie放入请求,则就可以绕过后台的判断,获取真实用户的信息,所以单纯加密无用。
cookie+ip等信息加密,可以抵挡大多数的恶意攻击, 因为 虽然获取到了 cookiie ,但是 恶意者的ip不和真实用户的相同,则可以校验出来,防止欺骗。
cookie + ip + 动态:请求正确一次,就清空一次,再重新赋值一个 唯一标示,那幺 就算别人 窃取到了 cookie,只有在【用户此次被获取cookie的请求与下次请求之前的时间,那个cookie才会起到欺骗效果。配合 ip等客户端的标示,可以避免 cookie欺骗】

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com