WEB安全:什么是Cookie,Cookie数据泄漏的危害

一、什么是Cookie

    简单来说,Cookie是网站在用户浏览器中保存下来的一份个人信息,有了Cookie,用户下次访问该网站时就可以免输入用户名甚至密码了(比如登陆淘宝网,用户名一栏就自动填充了,而为了安全,密码是必须的),因网站而异。另外,用户使用账号登陆网站后,要靠Cookie来维持会话Session,以保持在线状态,一旦清空当前网站对应的所有Cookie数据,用户将立即下线。真啰嗦,看图:

WEB安全:什么是Cookie,Cookie数据泄漏的危害

这是在OSChina登陆状态下的Cookie。接下来把它清除,然后刷新,结果如下:

WEB安全:什么是Cookie,Cookie数据泄漏的危害

可以看出,没有了Cookie,用户马上变成了游客身份,也就是用户维持登陆状态的信息已经不存在了。所以说,如果没有Cookie,许多网站都登陆不上去了。再比如,当用户访问京东等购物网站时,在不登陆的状态下,可以直接将选中的商品加入购物车,其原理也是基于Cookie来记录用户的购物车数据,只要不清除它,下次再打开该网站时,购物车依然能够显示添加的商品。

二、Cookie数据泄漏的危害

又以上面OSChina为例,如果我打开第二个浏览器(猎豹),以游客身份 访问oschina.net,然后 把之前浏览器(Chrome)Cookie中的oscid值取出来,注入第二个浏览器中,结果会怎么样呢。

WEB安全:什么是Cookie,Cookie数据泄漏的危害

通过脚本注入这个oscid值,然后刷新,即可看到,游客身份变成了在线用户。也就是说,有的网站就是通过一个或多个cookie值来映射到一个会员ID,只要任何一台电脑的任何一个浏览器中包含这些Cookie值,就可以 实现会员自动登陆 。当然,这个cookie值会有一个过期时间(由网站系统响应头决定),以保证一定的安全性,另外补充一点,oschina应该对cookie的oscid值禁用了js读取,以防网站未知的XSS跨站脚本漏洞导致用户账户被盗,所以为了演示的需要,我是从浏览器的设置功能中取出来的。

    cookie的作用不小,给用户和网站经营者带来很大的便利,但同时不可避免带来一些安全隐忧,只要我们保持安全意识,不在公共电脑上登陆敏感账户,我们就能趋利避害,享受cookie。