我想知道是否允许网站用户使用控制台中的javascript访问和修改Cookie是一个安全问题?允许用户拥有此内容可以带来什么危害?在某些情况下它只被视为安全问题,而在其他情况下却不是吗?使用HttpOnly cookie也会阻止用户修改cookie吗?
答案 0 :(得分:1)
您正在谈论两种不同的情况:
1)允许JavaScript读取/修改cookie。
您通常不希望JavaScript能够访问cookie(读取或写入)的原因是大多数站点使用cookie来处理站点身份验证。攻击者通常会在网站上创建Cross-Site Scripting (XSS)漏洞,并使用它来读取身份验证cookie的值并将其发送到攻击者控制的服务器。
当攻击者拥有会话cookie时,攻击者可以将受害者身份验证cookie的值插入攻击者会话中(取决于站点的安全性)。然后,当他们去目标地点时,他们被视为受害者,可以做受害者可以做的任何事情。
窃取cookie不是唯一可以通过XSS完成的事情,要阅读更多信息,请查看OWASPS - A3 Cross-Site Scripting write-up。
2)用户可以修改cookie,如果它们被标记为HttpOnly
是。用户可以修改cookie,html,css,JavaScript以及其机器上的任何内容。这就是为什么秘密永远不应该存储在客户端的计算机上,并且来自客户端/用户计算机的任何值在被证明有效之前都需要被认为是不可信的。