阅读 这篇关于 HttpOnly cookies 的博文 让我开始思考,是否有可能通过任何形式的 XSS 获取 HttpOnly cookie?Jeff 提到它“大大提高了标准”,但听起来它并不能完全防御 XSS。

除了并非所有浏览器都正确支持此功能这一事实之外,如果用户的 cookie 是 HttpOnly,那么黑客如何获取用户的 cookie?

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

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

有帮助吗?

解决方案

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

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


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

其他提示

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

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

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

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

使用 HttpOnly cookie 会阻止 通过获取这些 cookie 进行 XSS 攻击。

除非:

  • 您的浏览器不支持 HttpOnly
  • 浏览器中存在一个迄今为止未知的漏洞,该漏洞会破坏 HttpOnly
  • 服务器已被破坏(但无论如何你可能都会被攻击)。

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

祝你好运!

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top