阅读this blog post about HttpOnly cookies让我开始思考,是否可以通过任何形式的XSS获取HttpOnly cookie?杰夫提到它“大大提高了标准”,但听起来似乎并没有完全抵御XSS。
除了并非所有浏览器都能正常支持此功能外,如果用户的HttpOnly,黑客如何获取用户的cookie?
我想不出任何方法可以让HttpOnly cookie发送到另一个站点或者通过脚本读取,所以看起来这是一个安全的安全功能,但我总是惊讶于一些人可以轻松地解决许多安全层问题。
在我工作的环境中,我们专门使用IE浏览器,因此其他浏览器不是问题。我正在寻找其他方式,这可能成为一个不依赖于浏览器特定缺陷的问题。
答案 0 :(得分:23)
首先,正如其他人提到的那样,XSS 可以允许其他有效负载,而不仅仅是cookie窃取。
但是, 无论如何都要用XSS窃取httpOnly cookies? (忽略httpOnly支持的问题?).... 答案是:是的 XSS的子集称为Cross-Site Tracing (XST)(或转到原始research paper)。此攻击使XSS有效负载向Web服务器发送HTTP TRACE请求(或proxy,转发或反向),这将向客户端回送完整请求 - 包括您的COOKIES,httpOnly与否。然后,XSS有效负载可以解析返回的信息,并检索那些美味的cookie ...
答案 1 :(得分:5)
如果浏览器不理解HttpOnly,则攻击成功。 编辑:好的,你不担心。那没关系,但我会留下这个通知仅供参考。明确说明它是有用的。
除了嗅探网络之外,窃取的另一种方法是直接控制用户的计算机。然后可以从文件中读取cookie。如果它是一个会话cookie,它将在浏览器关闭后被删除。
顺便说一下,窃取会话cookie并不是XSS攻击唯一可能的“有效载荷”。例如,它可能会使您的CSRF保护无效。它可能会改变您网站的内容以欺骗用户。还有很多其他恶意的东西。
以更好的方式更好地保护自己(逃避输出),并将HttpOnly视为附加图层的保护。
答案 2 :(得分:2)
使用HttpOnly Cookie 可防止 XSS攻击获取这些Cookie。
除非:
正如另一张海报所指出的那样:XSS不是唯一存在的威胁,抓取cookie并不是XSS的唯一威胁。我相信你知道这一点 - 我只是完成了!
祝你好运!答案 3 :(得分:0)
JavaScript可以修改页面上的HTML,因此,httpOnly 不 意味着您可以安全地使用XSS。
答案 4 :(得分:-1)
数据包嗅探可以读取通过http传输的cookie。但它可能不属于XSS。