XSLeaks 攻击分析 —— HTTP缓存跨站点泄漏

Posted 天億网络安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSLeaks 攻击分析 —— HTTP缓存跨站点泄漏相关的知识,希望对你有一定的参考价值。

请点击上面  一键关注!

XSLeaks 攻击分析 —— HTTP缓存跨站点泄漏

今天分享一个很多开发人员和安全人员都很难想到的攻击方式-XSLeaks


0x1 XSSearch的前世今生

    这种攻击方式最早可以追述到10年前(即2009年),一个名为Chris Evans的安全人员描述了一次对雅虎的攻击:Chris利用恶意网站去搜索该网站访问者的电子邮件收件箱里的内容,他通过构造不同的关键词的方式在用户的收件箱中搜索,根据返回的时间进行判断该关键词是否存在,比如:搜索“Alice”,如果对方收件箱里有有关Alice的词,则很久才能得到反馈;如果没有,则在很短的时间就能得到反馈。这样,经过多次查询,很快就能搜集大量的信息。你也许觉得这没什么用处,但是如果用来检索密码或者一些商业来往邮件呢? 但是这种方法有一种弊端,他是基于响应时间来对结果进行判断,而影响相应时间的因素很多。于是在六年后,Nethanel Gelernter和Amir Herzberg更深入地研究了这次攻击,并将其命名为XSSearch,并使用统计学使其结果更加可靠。在接下来的几年中,XSSearch的攻击方式不断改进,不在是拘泥于时间,而是利用浏览器的缓存机制,就这样,XSSearch的攻击方法越来越多,攻击方式越来越稳定。

 

0x2 缓存泄露的危害

 

0x3 利用步骤

这种攻击很有意思,实施起来分为三个步骤

  1. 删除目标浏览器中特定的缓存

  2. 打开目标的浏览器查询相关内容

  3. 检查浏览器是否缓存了相关的内容

    举个例子,假设你是www.xxx.com的用户,当恶意用户清空你的浏览器里所有有关xxx.com的缓存后,对方利用你的浏览器去访问xxx.com高级会员才能看的内容,如果你是高级会员,那么你的浏览器里就会缓存这部分的内容,反之亦然,恶意用户只需判断你的是否缓存了这部分的内容就可以知道你的身份。 在那篇文章中,作者提出一种实现这种攻击的技巧:

  1. 删除特定的资源缓存

  2. 查询缓存是否存在以判断浏览器是否缓存了它

我们一步步来:

    首先是清空目标的缓存。 可以通过向目标网站发送一个post请求来清空目标内容,有些人可能觉得不可思议,但这是真的,具体可以参考这篇博客;或者设计一个过长的url,这样就能使目标服务器报错,并且清空之前的缓存。

    其次是访问想要查询的内容。 比如使用link rel = prerender或者直接打开一个新的窗口去访问你要查询的内容,检查资源是否被访问;或者,也可以使用一个过长的url来判断,可能这里很多人不明白,前文说通过构造一个过长的url使浏览器不加载缓存,这里问什么可以用来验证缓存是否存在呢?

    很简单,首先这里的“过长的url”只是一种技术,并不是指的同一个url;可以这么理解:假设缓存的是一个图片文件,名字为a.jpg,然后你去通过一个过长的url去访问,因为这样会让浏览器不去加载新的图片,那么浏览器则显示之前的缓存,即a.jpg。terjanq提过了一个很好的例子,各位在看的时候请注意url栏的变化。

 

0x4 关于防御

 

0x5 结言

附可供拓展研究的参考资料:

https://www.notion.so/Security-Generic-cross-browser-cross-domain-theft-c01d831c5cf94d9898e99c16adc2e017
https://www.youtube.com/watch?v=vzp7JdezZRU
https://cloud.google.com/storage/docs/access-control/signing-urls-manually
https://www.youtube.com/watch?v=KcOQfYlyIqw&pbjreload=10
https://zh.wikipedia.org/wiki/%E6%97%81%E8%B7%AF%E6%94%BB%E5%87%BB
https://www.cnblogs.com/slly/p/6732749.html
http://sirdarckcat.blogspot.com/2019/03/http-cache-cross-site-leaks.html?m=1

(内容来源:安全客 掌控安全学院 )     

XSLeaks 攻击分析 —— HTTP缓存跨站点泄漏

「天億网络安全」 知识星球 全面介绍网络安全相关知识、安全建设方案、分享网络安全行业法律法规及相关政策,一个学习网络安全知识、技术、业务交流的全国性平台。

知识星球定价:99元/年,(服务时间为一年,自加入日期顺延一年)。

如何加入:扫描下方二维码,扫码付费即可加入。

XSLeaks 攻击分析 —— HTTP缓存跨站点泄漏

加入群聊

为了【天億网络安全】微信群管理,想进群的朋友先加我好友,我拉你们进群,微信二维码如下:

—THE END—

朋友都在看

等保2.0通用要求VS等保1.0(三级)技术部分要求详细对比

天億网络安全


以上是关于XSLeaks 攻击分析 —— HTTP缓存跨站点泄漏的主要内容,如果未能解决你的问题,请参考以下文章

如何解决跨站点请求伪造

安全测试 web常规安全漏洞问题介绍和防范说明,如:SQL注入攻击XSS跨站点脚本攻击JS注入注释与异常信息泄露跨站点请求伪造路径遍历与强制浏览越权访问类常见网络安全问题是什么?

关于csrf

利用HTTP-only Cookie缓解XSS之痛

跨站点脚本攻击

如何防止跨站点脚本攻击