Cookie如何构成威胁?
互联网无疑是关于商品、商店、客户投诉、用户体验等等信息的最佳来源。公司使用Cookie来试图激发用户浏览的兴趣,并提供尽可能最佳的体验。
Lon Montulli被认为于1995年为Netscape Communication Corporation发明了Cookie。
"Cookie"一词源于编程术语"magic cookies",指的是在程序之间交换的数据。
http cookie、浏览器cookie和网页cookie都是Cookie的称呼。
什么是Cookie?
Cookie是Web服务器存储在用户计算机上的小型文本文件。
此文本文件包含以名称-值对形式的信息,网站可以获取这些信息。
这个独特的变量用于区分尝试访问系统的不同用户。
只有最初设置Cookie的网站才能检索它。
一些Cookie还包含唯一的会话标识符和时间值。
Cookie为何存在?
Cookie是一个非常小的文本文件,它存储用户计算机上的当前状态。网站可以获取此信息以确定网站的当前状态。网站可以通过查看Cookie的ID字段来推断用户是否已经访问过。
网站的点击次数由分配给每个用户的唯一ID确定。因此,网站可以使用Cookie唯一地识别访问次数。
Cookie还可以用于对重复用户进行分类并跟踪单个用户查看页面的次数。
Cookie可以记录首选项和设置,此信息可用于回忆用户的选择并为特定用户创建定制体验。对于电子商务网站,唯一ID可用于创建用户的购物车。用户可以向购物车添加商品,此首选项以及唯一ID将保存在网站的数据库中。当同一用户返回网站时,可以使用Cookie中的唯一ID来获取该用户的购物偏好。
网站还使用Cookie来衡量用户在网站上花费的时间以及用户点击的链接。此外,Cookie还可以用于记住用户的个人首选项和颜色设置。
YouTube如何使用Cookie?
考虑一下YouTube(Google所有)的例子。YouTube使用Cookie来评估用户偏好并根据该信息个性化用户结果。
当用户第一次查看YouTube时,他/她将看到随机数量的结果。
观看一两次后,用户会建立偏好,这些偏好会保存在用户的Cookie中。
当同一用户再次登录时,YouTube可以使用此Cookie来查找与用户偏好相似的视频。
如何安全地管理Cookie和浏览
鉴于Cookie的性质及其可能的隐私隐患,务必考虑它们如何影响您的个人安全。因此,以下是一些有助于维护您的在线隐私的提示:
检查浏览器中的隐私选项 − 如果您想禁用部分或所有Cookie,请转到浏览器上的设置>隐私(或类似选项,具体取决于浏览器)。但是,禁用所有Cookie可能会严重影响您的浏览体验,尤其是在依赖于Cookie的功能中断的情况下。
从您的计算机中删除所有Cookie − 为确保安全,您可以定期删除Cookie,这将清除所有浏览器的跟踪和自定义尝试。但是,您可能需要重新输入登录信息,这可能会带来不便。
使用代理服务器是个好主意 − 使用VPN匿名浏览。在这种情况下,Cookie存储在远程服务器上,而不是您的计算机上。
在安全的环境中浏览 −或者,您可以使用Google Chrome等浏览器以隐身模式浏览,这可以阻止网站使用Cookie。但是,许多功能可能会受到影响,从而使浏览页面更加困难。
最后,远离可疑网站(注意任何浏览器警告)并保持浏览器更新。如果您使用的是旧版本,则可能会受到恶意攻击。因此,最好定期更新浏览器以确保安装所有安全更新。
与Cookie相关的风险
以下是攻击者使用Cookie进行攻击的一些示例:
跨站请求伪造 (XSRF) 攻击
会话固定
站点间脚本攻击
Cookie投掷攻击
Cookie溢出攻击
跨站请求伪造 (XSRF) 攻击
Cookie是浏览器响应请求发送的,独立于请求的来源。这就是Cookie的真正问题所在。当网站收到请求时,它无法确定该活动是否由用户启动。它会检查Cookie,如果找到Cookie,它会执行该操作,就好像它是由用户启动的一样。可以使用一个例子来阐明这一点。
假设一个名为“John”的用户访问一个名为“www.example.com”的知名网站,并且他的计算机上有一个有效的Cookie。“Crusoe”(攻击者)将一个链接嵌入到图像中,以对“www.example.com”执行某些删除操作,并将其上传到“www.exploit.com”。当John访问“www.exploit.com”时,该网站会加载图像并向“www.example.com”发送删除请求。Web服务器在收到请求时会搜索Cookie。然后它查找John的Cookie,将其解释为合法请求并将其删除。
会话固定
会话固定攻击基于应用程序级别。在这种类型的攻击中,攻击者强制受害者使用攻击者或其他人的会话ID。这是通过利用Cookie的浏览器指令路由来实现的,该路由允许用户冒充他人。攻击者可以使用此策略说服用户在多个应用程序级别以攻击者的身份登录。
站点间脚本攻击
攻击者必须将漏洞嵌入Cookie中才能执行跨站点脚本攻击。然后,利用向量将从Cookie中获取有效负载并执行利用。如果Cookie已经建立,则此类攻击会变得更加困难。在这种情况下,攻击者必须首先控制Cookie字符串中的第一个Cookie,然后才能发起攻击。
Cookie投掷攻击
Cookie投掷是最常见的Cookie攻击类型之一,其工作方式如下:
假设一个用户访问“www.example.com”并获得一个域Cookie。
下次用户访问同一站点时,Cookie将传递给Web服务器。
现在的问题是Cookie没有路径或网站名称。因此,如果攻击者创建子域Cookie并将其与真实Cookie一起发送,Web服务器将接受两者。
由于没有规则要求浏览器首先发送域Cookie,因此它可能会首先发送子域Cookie。
如果恶意子域Cookie是Web服务器收到的第一个Cookie,它将被视为真实Cookie,并且该Cookie的值将用于为用户提供会话。
Web服务器无法确定Cookie是否真实,因为域路径安全和Http Only等Cookie属性不会提供给它。
Cookie溢出攻击
在这种类型的攻击中,可以通过在子域中使用Jscript来使用子域Cookie更改父域Cookie。
浏览器对可以保存的Cookie数量有限制,有些浏览器(如Chrome)不会检查Cookie是来自域还是子域。它只会保存提供给它的Cookie。
将要更新的子域Cookie不会是HttpOnly或安全类型。
保存子域Cookie后,攻击者可以修改Cookie的过期日期,使Cookie变得毫无意义。
现在攻击者能够创建新的恶意Cookie并将其发送到Web服务器。
此外,Web服务器无法判断Cookie是否安全或HttpOnly。因此,可以使用生成的Cookie进行攻击。
结论
总而言之,远离可疑网站(注意任何浏览器警告)并保持浏览器更新。如果您使用旧版本,则可能会受到恶意攻击。因此,最好经常更新浏览器以确保安装所有安全更新。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP