加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

“黑客”入门学习之“Cookie技术详解”

发布时间:2019-01-18 05:31:49 所属栏目:业界 来源:信息安全我来讲你来听
导读:重放攻击大家应该听说过吧?重放攻击时黑客常用的攻击方式之一,攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以
副标题[/!--empirenews.page--]

"重放攻击"大家应该听说过吧?重放攻击时黑客常用的攻击方式之一,攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。

重放攻击监听http数据传输的截获的敏感数据大多数就是存放在Cookie中的数据。在web安全中的通过其他方式(非网络监听)盗取Cookie与提交Cookie也是一种重放攻击。所以可以看出"Cookie"这个“东东”好像很不安全。

“黑客”入门学习之“Cookie技术详解”

那么今天就以本篇文章详细给大家介绍一下Cookie是什么?Cookie基本原理与实现?Cookie到底存在哪些安全隐患,我们该如何防御,有没有其他技术替代方案?

一、Cookie是什么?

官方定义:Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

通俗理解:Cookie就是服务器端为了保存某些数据,或实现某些必要的功能,当用户访问服务器时,从服务器回传到客户端的一个或多个数据,这些数据因设置的保存时间不同,故保存在浏览器内存中或写入用户PC的硬盘当中,当下次用户再次访问服务器端时,则带着这些文件去与服务器端进行联系,这些数据或写入硬盘当中的数据文件就是Cookie。

详细简介:

众所周知,Web协议(也就是HTTP)是一个无状态的协议(HTTP1.0)。一个Web应用由很多个Web页面组成,每个页面都有唯一的URL来定义。用户在浏览器的地址栏输入页面的URL,浏览器就会向Web Server去发送请求。如下图,浏览器向Web服务器发送了两个请求,申请了两个页面。这两个页面的请求是分别使用了两个单独的HTTP连接。所谓无状态的协议也就是表现在这里,浏览器和Web服务器会在第一个请求完成以后关闭连接通道,在第二个请求的时候重新建立连接。Web服务器并不区分哪个请求来自哪个客户端,对所有的请求都一视同仁,都是单独的连接。这样的方式大大区别于传统的(Client/Server)C/S结构,在那样的应用中,客户端和服务器端会建立一个长时间的专用的连接通道。正是因为有了无状态的特性,每个连接资源能够很快被其他客户端所重用,一台Web服务器才能够同时服务于成千上万的客户端。

“黑客”入门学习之“Cookie技术详解”

但是我们通常的应用是有状态的。先不用提不同应用之间的SSO,在同一个应用中也需要保存用户的登录身份信息。例如用户在访问页面1的时候进行了登录,但是刚才也提到,客户端的每个请求都是单独的连接,当客户再次访问页面2的时候,如何才能告诉Web服务器,客户刚才已经登录过了呢?浏览器和服务器之间有约定:通过使用cookie技术来维护应用的状态。Cookie是可以被Web服务器设置的字符串,并且可以保存在浏览器中。如下图所示,当浏览器访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给浏览器,浏览器接到cookie之后,就会保存起来,在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。

“黑客”入门学习之“Cookie技术详解”

Cookie文件记录了用户的有关信息,如身份识别号码ID、密码、浏览过的网页、停留的时间、用户在Web站点购物的方式或用户访问该站点的次数等,当用户再次链接Web服务器时,浏览器读取Cookie信息并传递给Web站点。

Cookie文件信息片断以"名/值"对(name-vaiuepairs)的形式储存,一个"名/值"对仅仅是一条命名的数据。例如,访问 www.goto.com网站,则该站点可能会在客户端电脑上产生一个包含以下内容的Cookie文件:UserIDA9A3BECE0563982Dwww.goto.com/。goto.com在电脑上存入了一个单一的"名/值"对,其中的"名"是UserID,"值"是A9A3BECE0563982D。

Cookie文件的存放位置与操作系统和浏览器密切相关,这些文件在Windows机器里叫做Cookie文件,在Macintosh机器里叫做MagicCookie文件。对Windows和IE浏览器而言,Cookies文件的存放位置为:

Cookies

Cookie的主要功能是实现用户个人信息的记录,它最根本的用途是帮助Web站点保存有关访问者的信息。更概括地说,Cookie是一种保持Web应用程序连续性(即执行状态管理)的方法。

HTTP协议是一种无状态、无连接的协议,不能在服务器上保持一次会话的连续状态信息。随着WWW的不断发展,HTTP的无状态性不能满足某些应用的需求,给Web服务器和客户端的操作带来种种不便。在此背景下,提出HTTP的状态管理机制———Cookie机制,它是对HTTP协议的一种补充,以保持服务器和客户端的连续状态。

二、Cookie技术的原理

以实例阐述技术原理:

假设一个用户在进行网上购物

“黑客”入门学习之“Cookie技术详解”

  • 假定用户第一次访问这个购物网站,用户浏览器这边有一个Cookie文件,里面只有一行信息beay:8734,但是没有任何与这个购物信息有关的信息
  • 用户开始使用常规的http请求消息来访问,服务器收到访问以后,发现这是一个新用户,于是为这个用户创建一个ID为1678,并把这个信息存储在后端的数据库中
  • 服务器收到请求后向浏览器发回响应消息,但是在响应消息里面多了一行信息,就是Set-cookie: 1678,客户浏览器收到响应信息后,把新增的Cookie信息添加到自己的Cookie文件中,意思是:我在这个网站中的ID是1678
  • 当用户第二次再访问这个网站的时候,请求信息中就会带上自己的Cookie信息,服务器收到以后,通过Cookie信息发现是之前访问过的用户,于是做出Cookie-specific action,将http响应信息发回用户浏览器
  • 一周以后再次访问,依然会重复4的步骤

三、常见的Cookie 种类

1. Session cookie

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读