COOKIE欺骗 (转贴)

作者:简简单单 2008-01-18
作者:WormBuG
转自: www.oso.com.cn
现在有很多社区网为了方便网友浏览,都使用了cookie技术以避免多次输入密码(就如the9和vr),所以只要对服务器递交给用户的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服务器,那么动手吧!

相关文章

精彩推荐