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

时间:2016-04-07 23:21:07

标签: javascript security cookies

我想知道是否允许网站用户使用控制台中的javascript访问和修改Cookie是一个安全问题?允许用户拥有此内容可以带来什么危害?在某些情况下它只被视为安全问题,而在其他情况下却不是吗?使用HttpOnly cookie也会阻止用户修改cookie吗?

1 个答案:

答案 0 :(得分:1)

您正在谈论两种不同的情况:

  1. 允许JavaScript读取/修改Cookie
  2. 用户可以修改Cookie,如果它们被标记为HttpOnly
  3. 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以及其机器上的任何内容。这就是为什么秘密永远不应该存储在客户端的计算机上,并且来自客户端/用户计算机的任何值在被证明有效之前都需要被认为是不可信的。