让用户通过javascript访问cookie是一个安全问题

Is letting users access cookies through javascript a security issue

本文关键字:一个 问题 安全 用户 javascript cookie 访问      更新时间:2024-03-11

我想知道允许网站用户从控制台使用javascript访问和修改cookie是否是一个安全问题?允许用户这样做会造成什么危害?它是否只在某些情况下被视为安全问题,而在其他情况下则不被视为?另外,使用HttpOnly cookie是否会阻止用户修改cookie?

您谈论的是两种不同的场景:

  1. 允许JavaScript读取/修改cookie
  2. 如果cookie被标记为HttpOnly,用户可以修改吗

1) 允许JavaScript读取/修改cookie。

您通常不希望JavaScript能够访问cookie(读取或写入)的原因是,大多数网站都使用cookie来处理网站身份验证。攻击者通常会在网站上利用跨站点脚本(XSS)进行攻击,并利用该漏洞读取身份验证cookie的值,然后将其发送到攻击者控制的服务器。

当攻击者拥有会话cookie时,攻击者有可能(取决于站点的安全性)将受害者身份验证cookie的值插入攻击者会话。然后,当他们到达目标地点时,他们被视为受害者,可以做受害者能做的任何事情。

窃取cookie并不是唯一可以通过XSS完成的事情,要了解更多信息,请参阅OWASPS-A3跨站点脚本撰写。

2) 如果cookie被标记为HttpOnly ,用户可以修改吗

是的。用户可以修改cookie、html、css、JavaScript,以及他们机器上的任何内容。这就是为什么机密永远不应该存储在客户端的计算机上,并且在证明有效之前,来自客户端/用户计算机的任何值都需要被视为不可信。