XSS攻击是否有可能获取HttpOnly cookies?

问题描述 投票:0回答:6

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

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

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

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

security cookies xss
6个回答
34
投票

注意这个答案已经过时了,XST 不太可能在几乎任何现代场景中被利用。答案的其他部分可能相关,但还有其他更现代的技术。

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

但是,是否有可以通过 XSS 窃取 httpOnly cookie? (忽略httpOnly支持的问题?).... 答案是:是的。
XSS 的一个子集称为“跨站跟踪 (XST)”(或转到原始“研究论文”)。此攻击让 XSS 有效负载向 Web 服务器(或代理,正向或反向)发送 HTTP TRACE 请求,该请求将向客户端回显完整请求 - 包括您的 COOKIES,无论是否为 http。然后,XSS 有效负载可以解析返回的信息,并检索那些美味的 cookie... 顺便说一句,XSS 的另一个“子集”(有点)涉及将有效负载注入响应标头。虽然类似,但这并不是完全

XSS,标头注入甚至可能导致
HTTP 响应分裂 (HRS)

- 功能更强大,允许几乎完全控制其他客户端、缓存中毒,当然还可以访问 cookie,如果愿意的话。 使用 HttpOnly cookie

将防止

9
投票

除非:

您的浏览器不支持 HttpOnly

浏览器中存在一个迄今为止未知的漏洞,该漏洞会破坏 HttpOnly
  • 服务器已被入侵(但无论如何你都可能被淹没)。
  • 正如另一位发帖者所指出的:XSS 并不是唯一的威胁,抓取 cookie 也不是 XSS 的唯一威胁。 我相信你知道这一点 - 我只是完整的!
  • 祝你好运!

如果浏览器不理解HttpOnly,则攻击成功。

6
投票
编辑:好吧,你不担心。没关系,但我会留下这个通知仅供参考。明确说明很有用。

除了嗅探网络之外,另一种窃取方式是直接控制用户的计算机。然后可以从文件中读取cookie。如果它是一个会话cookie,它当然会在浏览器关闭后被删除。 顺便说一句,窃取会话 cookie 并不是 XSS 攻击唯一可能的“有效负载”。例如,它可能会使您的 CSRF 保护变得毫无用处。它可能会改变您网站的内容来欺骗用户。还有许多其他恶意的东西。

因此,更好地以良好的方式保护自己

(转义输出),

并将 HttpOnly 视为

额外的保护层

在这种情况下窃取 HttpOnly cookie 的唯一方法是客户端在某个时刻在响应中反映 cookie。您可以发出 XHR 请求来窃取 cookie。 虽然它与 HttpOnly 标志无关, 另一种方法是,如果应用程序使用 JWT 进行身份验证/授权,您可以从本地存储中读取它。


0
投票

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


-4
投票

JavaScript 可以修改页面上的 HTML,因此,httpOnly

does

-4
投票

意味着您可以安全地抵御 XSS。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.