XSS攻击是否有可能获得HttpOnly cookie?

时间:2008-10-23 01:07:37

标签: security cookies xss

阅读this blog post about HttpOnly cookies让我开始思考,是否可以通过任何形式的XSS获取HttpOnly cookie?杰夫提到它“大大提高了标准”,但听起来似乎并没有完全抵御XSS。

除了并非所有浏览器都能正常支持此功能外,如果用户的HttpOnly,黑客如何获取用户的cookie?

我想不出任何方法可以让HttpOnly cookie发送到另一个站点或者通过脚本读取,所以看起来这是一个安全的安全功能,但我总是惊讶于一些人可以轻松地解决许多安全层问题。

在我工作的环境中,我们专门使用IE浏览器,因此其他浏览器不是问题。我正在寻找其他方式,这可能成为一个不依赖于浏览器特定缺陷的问题。

5 个答案:

答案 0 :(得分:23)

首先,正如其他人提到的那样,XSS 可以允许其他有效负载,而不仅仅是cookie窃取。

但是, 无论如何都要用XSS窃取httpOnly cookies? (忽略httpOnly支持的问题?).... 答案是:是的 XSS的子集称为Cross-Site Tracing (XST)(或转到原始research paper)。此攻击使XSS有效负载向Web服务器发送HTTP TRACE请求(或proxy,转发或反向),这将向客户端回送完整请求 - 包括您的COOKIES,httpOnly与否。然后,XSS有效负载可以解析返回的信息,并检索那些美味的cookie ...


顺便说一下,XSS的另一个“子集”(有点)涉及将有效负载注入响应头。虽然类似,但这不是完全 XSS,并且Header Injection甚至可以导致HTTP Response Splitting (HRS) - 它更强大,允许几乎完全控制其他客户端,缓存中毒,当然还有访问权限饼干,如果愿意的话。

答案 1 :(得分:5)

如果浏览器不理解HttpOnly,则攻击成功。 编辑:好的,你不担心。那没关系,但我会留下这个通知仅供参考。明确说明它是有用的。

除了嗅探网络之外,窃取的另一种方法是直接控制用户的计算机。然后可以从文件中读取cookie。如果它是一个会话cookie,它将在浏览器关闭后被删除。

顺便说一下,窃取会话cookie并不是XSS攻击唯一可能的“有效载荷”。例如,它可能会使您的CSRF保护无效。它可能会改变您网站的内容以欺骗用户。还有很多其他恶意的东西。

以更好的方式更好地保护自己(逃避输出),并将HttpOnly视为附加图层的保护。

答案 2 :(得分:2)

使用HttpOnly Cookie 可防止 XSS攻击获取这些Cookie。

除非:

  • 您的浏览器不支持HttpOnly
  • 浏览器中存在一个迄今未知的漏洞,打破了HttpOnly
  • 服务器已遭到入侵(但无论如何你可能已经被软化了)。

正如另一张海报所指出的那样:XSS不是唯一存在的威胁,抓取cookie并不是XSS的唯一威胁。我相信你知道这一点 - 我只是完成了!

祝你好运!

答案 3 :(得分:0)

JavaScript可以修改页面上的HTML,因此,httpOnly 意味着您可以安全地使用XSS。

答案 4 :(得分:-1)

数据包嗅探可以读取通过http传输的cookie。但它可能不属于XSS。