新大陆电脑北京:请问如何避免COOKIE欺骗

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 07:12:15
请问如何避免COOKIE欺骗

COOKIE欺骗原理

按照浏览器的约定,只有来自同一域名的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的域名吧:http://www.the9.com/,而浏览器的cookie警告已经告诉了我们这3

个cookie会返回给有.the9.com这个域名的服务器,哎?我的机器上正好有web服务器,那么

动手吧!

先编一个设置cookie的html,就叫cookie.htm吧,然后把这个cookie放进web目录,这样还不

行,因为我的机器的域名没设,那么设置host的名字,可是如果在网络设置中进行设置的话

,机器要重启动的,还是想想别的简单的办法吧!

然后我们应该编辑hosts文件,这个文件应该在windows目录下,你有可能找不到它,但是如

果你找到了hosts.sam文件,那么把它后面的扩展名去掉,就是我们要的文件了!

编辑hosts文件,填入以下一行:

127.0.0.1 www0.the9.com

解释一下,127.0.0.1是本机的lo地址,可以用做web地址,而www0.the9.com就是我们欺骗产

生的域名。

然后在浏览器中输入http://www0.the9.com/cookie.htm,看,页面出来了,快设置cookie吧



直接访问http;//www.the9.com/main.htm看看,不错吧!

但是不是所有的网友都有自己的web服务器啊!那怎么办呢?

其实如果你有个人主页的话,也可以达到cookie欺骗的目的,比如某个个人主页的服务器的

ip地址是1.2.3.4,先上传cookie.htm文件,再编辑hosts文件:

1.2.3.4 www0.the9.com

然后访问http://www0.the9.com/***/cookie.htm,其中***是你个人主页的地址目录。

对了我作了个工具在我的主页上,现在公开一下,http://home.etang.com/fsl/9the/,大家

知道该怎么做了吧?嘿嘿,不过你那样设置是没有用的,要这样编辑hosts:

etang的ip www.the9.com

the9的ip www0.the9.com

定期清理,或者用杀毒软件进行杀毒就可以了。
另外,不要上一些特别的网站就可以了。呵呵

呵呵!上面的答非所问。建议只对用户名及密码进行cookies并且密码必须通过md5加密,其它的如有涉及到等级或者权限的不要做cookies。再加时间过期,一般就不怕欺骗了!