我想知道 cookie 是否可以携带病毒(或任何威胁安全的代码)。从某种意义上说,它类似于下载。所以仅仅访问一个网站,我会受到伤害吗?
cookie 会携带病毒吗?
您可以将任何文本字符串放入 cookie 中,因此理论上您可以在其中放入某种代码。但是要让代码造成任何伤害,就需要运行它。网络浏览器不会将 cookie 的内容解释为代码,也不会尝试运行它,因此 cookie 不应该是危险的。(如果您听说在与安全相关的讨论中提到了 cookie,那可能与隐私有关,而不是病毒。)
理论上,浏览器中可能存在一个错误,它可以制作一个特殊的 cookie,以某种方式欺骗浏览器运行它,例如通过导致缓冲区溢出。这样的错误在主流浏览器中不太可能出现,如果你能找到一个,那将被认为是一件大事。
所以我不会担心 cookie 会感染病毒。然而,仅仅访问一个网站就有可能被恶意软件感染。这被称为“下载驱动”,是当今传播病毒的常用方法。不过,为此利用的载体通常不是 cookie,而是 Java 或 Flash 等插件。
除了Anders 的出色回答之外,Internet Explorer 5 和 6 中还有一个漏洞,它允许设置恶意 cookie,然后可以读取或设置其他站点的 cookie 值。
文章在这里。
与处理 cookie 中的脚本相关的信息泄露漏洞,可能允许一个站点读取另一个站点的 cookie。攻击者可以构建一个包含脚本的特殊 cookie,然后构建一个网页,将该 cookie 传送到用户系统并调用它。然后,他可以将该网页作为邮件发送或发布到服务器上。当页面执行并调用 cookie 中的脚本时,它可能会读取或更改另一个站点的 cookie。然而,成功利用这一点需要攻击者知道存储在文件系统上的 cookie 的确切名称才能成功读取。
虽然不是病毒,但您的浏览器可能会被此脚本“感染”在 cookie 中,然后攻击者可以使用该 cookie 来破坏您的浏览器。然而,这里关于cookie更多的是关于用于漏洞利用的机制而不是浏览器被感染,因为只有恶意站点可以使用cookie,并且在访问良性站点时不会调用它。
Cookie 只能传输 TEXT 值,这意味着它不会单独损害您的计算机,但它可以包含非常重要的信息,如果被盗可以用来对付您。阅读Session hijacking,您将了解开发者可以使用它的具体用途。
正如安德斯已经提到的那样,理论上他们可以。“问题”是它们不会被浏览器执行。但是,您计算机上的其他软件/恶意软件可以。这将是特别危险的,因为当在单独的文件中执行时,防病毒程序很可能不会自行检测 cookie 或正在执行的软件。