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

Dan*_*ert 16 security cookies xss

阅读关于HttpOnly cookies的博客文章让我开始思考,是否有可能通过任何形式的XSS获得HttpOnly cookie?杰夫提到它"大大提高了标准",但听起来似乎并没有完全抵御XSS.

除了并非所有浏览器都能正确支持此功能之外,黑客如何获取用户的cookie(如果他们是HttpOnly)?

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

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

Avi*_*viD 25

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

但是,有反正偷的HttpOnly饼干,用XSS?(忽略httpOnly支持的问题?)....答案是:是的.
XSS的一个子集称为跨站点跟踪(XST)(或转到原始研究论文).此攻击使XSS有效负载向Web服务器(或代理,正向或反向)发送HTTP TRACE请求,该请求将向客户端回送完整请求 - 包括您的COOKIES,httpOnly与否.然后,XSS有效负载可以解析返回的信息,并检索那些美味的cookie ...


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

  • @mmla“错误”,或者也许你的意思是“过时”?正如您所看到的,这是 10 多年前写的,就像互联网时代的十年一样。当时,这实际上是正确的,因为它早于一些较新的机制。欢迎您添加自己的更新答案,我很乐意参考它,或者只是提出一个新问题并回答:-) (3认同)
  • 哇,这是最佳答案,而且完全错误。引用来自 2003 年撰写的白皮书。如果这是获取纯 HTTP cookie 的最佳 XSS 攻击,那么我们都非常安全。 (2认同)

Paw*_*dan 5

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

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

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

因此,以更好的方式更好地保护自己(逃避输出),并将HttpOnly视为额外的保护.


AJ.*_*AJ. 5

使用 HttpOnly cookie将防止XSS 攻击获取这些 cookie。

除非:

  • 您的浏览器不支持 HttpOnly
  • 浏览器中有一个迄今为止未知的漏洞,它破坏了 HttpOnly
  • 服务器已被入侵(但无论如何你可能会被冲洗掉)。

正如另一位发帖人所指出的:XSS 并不是唯一的威胁,抓取 cookie 也不是 XSS 的唯一威胁。我相信你知道这一点 - 我只是完成了!

祝你好运!

  • 同意,我一直不明白为什么人们如此关注“偷”cookie。对于攻击者来说,从受害者自己的浏览器进行攻击不是更容易、更安全吗?例如,他们可以使用恶意脚本直接向服务器发出恶意请求(并且仍会附加用户的有效 httpOnly cookie)。 (2认同)