XSS攻击是否有可能获取HttpOnly cookie



阅读这篇关于HttpOnly cookie的博客文章让我开始思考,HttpOnly cookie有可能通过任何形式的XSS获得吗?Jeff提到它"大大提高了标准",但听起来并不能完全抵御XSS。

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

我想不出任何方法可以让HttpOnly cookie发送到另一个网站或被脚本读取,所以这似乎是一个安全的安全功能,但我总是惊讶于有些人可以轻松地绕过许多安全层。

在我工作的环境中,我们只使用IE,所以其他浏览器就不必担心了。我正在专门寻找其他方式,使其成为一个不依赖于浏览器特定缺陷的问题。

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

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

但是,是否有可以通过XSS窃取httpOnly cookie?(忽略httpOnly支持的问题?)。。。。答案是:是的
XSS的一个子集被称为跨站点跟踪(XST)(或参阅原始研究论文)。此攻击使XSS负载向web服务器(或代理,正向或反向)发送HTTP TRACE请求,该请求将向客户端回显完整请求-包括您的COOKIES、httpOnly或非httpOnly。XSS负载可以解析返回的信息,并检索那些美味的cookie。。。


顺便说一句;子集";(有点)XSS,涉及将有效载荷注入响应头中。尽管类似,但这并不完全是XSS,并且头注入甚至可以导致HTTP响应拆分(HRS),这更强大,允许几乎完全控制其他客户端、缓存中毒,当然,如果愿意的话,还可以访问cookie。

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

除非:

  • 您的浏览器不支持HttpOnly
  • 浏览器中存在一个迄今为止未知的漏洞,该漏洞破坏了HttpOnly
  • 服务器已经被破坏(但你可能还是被冲洗掉了)

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

祝你好运!

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

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

顺便说一句,窃取会话cookie并不是XSS攻击的唯一可能"有效载荷"。例如,它可能会使您的CSRF保护变得毫无用处。它可能会更改您网站的内容以欺骗用户。还有许多其他恶意的事情。

因此,最好用一种好的方式来保护自己(转义输出),并将HttpOnly视为额外的保护层。

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

JavaScript可以修改页面上的HTML,因此,httpOnly并不意味着可以安全地抵御XSS。

最新更新