新型Web攻击技术——Web缓存欺骗

本文讲的是新型Web攻击技术——Web缓存欺骗,Web缓存欺骗是一种新的Web攻击向量,这种攻击技术的出现使得多种Web缓存技术和框架面临风险。

Web缓存和服务器反应的一点介绍

很多网站通常都倾向于使用web缓存功能(例如通过CDN,负载均衡器或简单的反向代理)。使用Web缓存功能的目的很简单:存储那些经常检索的文件,以减少Web服务器响应的延迟。

让我们来看一个网络缓存的例子。网站http://www.example.com通过配置了反向代理作为Web缓存。存储在服务器上并需要返回用户个人内容(如http://www.example.com/home.php)的动态网页必须要按不同的用户动态的创建,因为每个用户的数据是不同的。这种数据,或至少其个性化的这一部分,是不会被缓存的。

更合理及常见的缓存内容都是静态或公共文件:样式表(css),脚本(js),文本文件(txt),图像(png,bmp,gif) 等,在大多数人的正常意识中,这些文件通常不会包含用户的任何敏感信息。此外,在那些关于Web缓存配置的各种最佳实践的文章中,都会这样说:“建议缓存所有公开的静态文件并忽略其HTTP缓存头信息”。

2.网络缓存欺骗攻击依赖于浏览器和网络服务器的反应,与RPO攻击很相似,下面两篇文章对RPO攻击做了一些解释。

http://www.thespanner.co.uk/2014/03/21/rpo/
http://blog.innerht.ml/rpo-gadgets/

那么访问了像http://www.example.com/home.php/non-existent.css这样的网址时会发生什么?(译者注:也就是在http://www.example.com/home.php后面加上缓存的文件类型,文件名可以是不存在的)

浏览器会发出对该网址的GET请求。有趣的是服务器的反应 —— 服务器会如何解释请求的URL?根据服务器的Web缓存技术和配置(对于不同的服务器,URL的结构可能略有不同),服务器返回了http://www.example.com/home.php的内容。是的,浏览器地址栏的网址仍然为http://www.example.com/home.php/non-existent.css。HTTP标头信息与直接访问http://www.example.com/home.php的标头信息相同:缓存标头信息和内容类型相同(在这种情况下为text / html)。

如果我们访问http://www.example.com/home.php/non-existent.css,会发生什么情况,注意,在代理服务器上已经设置了对静态文件进行网络缓存。服务器会忽略此类文件的缓存头?让我们来分析一下这个过程:

1. 浏览器请求http://www.example.com/home.php/non-existent.css。
2. 服务器返回http://www.example.com/home.php的内容,很可能使用了标识不缓存此页面的HTTP缓存标头。
3. 通过代理服务器响应该请求。
4. 代理服务器发现该文件的扩展名是css。
5. 在缓存目录下,代理服务器会创建一个名为home.php的目录,并缓存冒名顶替的“CSS”文件(不存在的css文件)。

Oh!

漏洞利用

如果攻击者诱骗已登录的用户访问http://www.example.com/home.php/logo.png,则该网页(包含用户个人信息的网页)将被缓存到缓存服务器上,因此这些被缓存的个人信息就可以公开访问。 如果响应的HTTP主体信息中包含(由于某种原因)了会话标识符,安全密保问题或CSRF令牌,则可能变得更糟。 在这种时候,所有的攻击者都会自己访问缓存页面然后公开这些被缓存的用户隐私数据。

一件有趣儿的小事

通常,不需要进行身份验证即可访问网站缓存的公共静态文件。因此,缓存的文件是公共的且可访问的 ——不需要身份验证。

条件

因此,基本上,需要两个条件来确认网站是否存在此漏洞:

1. Web缓存功能是通过判断Web应用程序URL文件的扩展名来决定是否进行高速缓存,而且忽略了HTTP中的任何缓存头标识信息。
2. 访问http://www.example.com/home.php/non-existent.css等网页时,网络服务器将返回“home.php”的网址的内容。

缓解措施

1.  将缓存文件的缓存机制配置为仅当缓存文件的HTTP缓存标头允许时才进行缓存。这是解决这个问题的根本的解决办法。

2.  如果缓存组件提供Content-Type选项的话,请将缓存组件配置为按文件的内容类型进行缓存。

3.  配置Web服务器,以便对于像http://www.example.com/home.php/non-existent.css之类的页面,Web服务器不会返回带有 “home.php” 的URL的内容。相反的,服务器应该用404或302来响应这些URL的请求。

PayPal 网站中的Web缓存欺骗——漏洞披露

PayPal很容易受到网络缓存欺骗攻击。目前该漏洞现已修复,并已公开披露。

利用此漏洞可能泄漏的用户信息:

用户的名字和姓氏
账户余额
最后四个信用卡数字
交易数据
护照号码
电子邮件地址
家庭地址
电话号码
漏洞页面中包含的任何其他信息

一些漏洞页面的示例:

https://www.paypal.com/myaccount/home/attack.css
https://www.paypal.com/myaccount/settings/notifications/attack.css
https://history.paypal.com/cgi-bin/webscr/attack.css?cmd=_history-details

下面是可用于在PayPal网站上缓存页面的各种静态文件扩展名(超过40个):

aif,aiff,au,avi,bin,bmp,cab,carb,cct,cdf,class,css,doc,dcr,dtd,gcf,gff,gif,grv,hdml,hqx,ico,ini,jpeg,jpg, js,mov,mp3,nc,pct,ppc,pws,swa,swf,txt,vbs,w32,wav,wbmp,wml,wmlc,wmls,wmlsc,xsd,zip

缓存过期

我测试了缓存文件过期的时间。看起来,在被访问一次(第一次)后,文件被缓存大约5个小时。如果在该期间再次访问,则会延长过期时间。很明显,这么长的时间段足以让攻击者在缓存文件过期之前“捕获”到缓存文件,并且通过不断地监视此URL,获取他可以在创建缓存文件时要公开的用户隐私信息。

Demo视频

主页:https://www.paypal.com/myaccount/home

Paypal主页的Web缓存欺骗攻击Demo视频:https://youtu.be/pLte7SomUB8

个人设置页面:https://www.paypal.com/myaccount/settings

Paypal个人设置页面的Web缓存欺骗攻击Demo视频:https://youtu.be/e_jYtALsqFs

历史页面:https://history.paypal.com/cgi-bin/webscr?cmd=_history-details

Paypal历史页面的Web缓存欺骗攻击Demo视频:https://youtu.be/dgZVe7D8SRE

在我报告了此漏洞后,PayPal奖励了我3,000美刀,;)。

通过Web缓存欺骗技术劫持用户

我在其他应用程序中也发现了此漏洞,不过不幸的是,由于一些原因,我不能向公众公开(更糟的是,还有一些不错的Demo视频)。在这些应用程序中,可以完全控制应用程序的用户。这完全是有可能的,因为恢复用户密码的会话ID或安全密保问题的答案包含在了易受攻击的网页的HTML代码中。非常感谢Sagi Cohen的帮助。

IIS演示视频

在下面的视频中,网站托管在了IIS负载均衡器后面的两个Web服务器上,并安装了应用程序请求路由(ARR)。

成功登录的用户将被重定向到“welcome.php”的页面,其中包含其个人信息内容。负载均衡器配置为对所有的CSS文件进行缓存,并忽略这类文件的HTTP缓存头。

已登录的用户在访问http://www.sampleapp.com/welcome.php/stylesheet.css时,IIS负载均衡器会将“welcome.php”页面引用为一个目录,并在缓存目录中创建它,然后缓存“welcome.php”的内容,其中包含了用户的隐私内容信息,缓存的文件名为'stylesheet.css'。

原文发布时间为:2017年3月2日

本文作者:丝绸之路

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2024-08-23 19:46:49

新型Web攻击技术——Web缓存欺骗的相关文章

黑客攻击技术 WEB网站入侵的全过程讲述

以下的文章主要向大家讲述的是黑客攻击技术WEB网站入侵的过程,很偶然的一个机会,看到了一个网站,页面清新也很舒服的感觉.网站是用JSP开发的,由于个人的喜好, 所以我决定看看系统的安全性.telnetwww.target.com 8080 GET/CHINANSLHTTP/1.1 [Enter] [Enter] 返回的结果如下: HTTP/1.0404NotFound Date:Sun,08Jul200107:49:13GMT Servlet-Engine:TomcatWebServer/3.1

WEB云安全技术应用篇

本文讲的是WEB云安全技术应用篇,[IT168 资讯]近日,整合Web.邮件和数据安全防护解决方案提供商Websense发布了对2009年的安全预测报告.其中值得注意的是,"云安全"技术被滥用.Web应用和Web 2.0应用等被恶意利用的几率将大幅增加.黑客们充分利用可编写Web发动攻击,在2009年,利用Web API服务来获得信任.窃取用户的资格证书或机密信息的恶意攻击将会增加. 同时,随着允许用户进行内容编辑的网站越来越流行.数量出现飞跃增长,某些网站很有可能导致Web垃圾和向b

Web“云安全”技术应用篇

近日,整合Web.邮件和数据安全防护解决方案提供商Websense发布了对2009年的安全预测报告.其中值得注意的是,"云安全"技术被滥用.Web应用和Web 2.0应用等被恶意利用的几率将大幅增加.黑客们充分利用可编写Web发动攻击,在2009年,利用Web API服务来获得信任.窃取用户的资格证书或机密信息的恶意攻击将会增加. 同时,随着允许用户进行内容编辑的网站越来越流行.数量出现飞跃增长,某些网站很有可能导致Web垃圾和向blog.论坛和社交性网站发送恶意内容的大幅度增加,内容

Web云安全技术应用

云安全技术被滥用.Web应用和Web 2.0应用等被恶意利用的几率将大幅增加.黑客们充分利用可编写Web发动攻击,在2009年,利用Web API服务来获得信任.窃取用户的资格证书或机密信息的恶意攻击将会增加.同时,随着允许用户进行内容编辑的网站越来越流行.数量出现飞跃增长,某些网站很有可能导致Web垃圾和向blog.论坛和社交性网站发送恶意内容的大幅度增加,内容包括搜索引擎麻痹.恶意引诱传播和网络欺诈等.此外,这些威胁和攻击将被数种新的Web攻击工具所整合,使黑客们可以发现那些存在漏洞.或者允

xml自定义标签-xml文档中存在自定义的标签,是否是web攻击

问题描述 xml文档中存在自定义的标签,是否是web攻击 百度web注入攻击的概念,大都是说客户端提交表单到后台验证,结果后台对提交的表单没有进行有效性验证导致问题出现. 现在存在这样一个系统:数据存在xml文档中,把数据导入系统时,对xml文档进行解析,验证没有错误后保存到数据库中.但只是检查该系统运行必须数据是否存在,是否正确,如果多出一个自定义标签,如,导入时不做任何验证,也不保存到数据库中. 请问,这种情况是否符合web攻击方式中的一种?严重性如何? 谢谢

Web 缓存欺骗攻击技术详解

本文讲的是Web 缓存欺骗攻击技术详解,Omer Gil早在今年年初就在他的博客上发表了有关于Web缓存欺骗攻击技术的博文,随后他在BlackHat USA 2017 和BSides Tel-Aviv 2017 上对这种攻击技术进行了演示,并做了更深入的研究. 在他发布的"Web 缓存欺骗技术白皮书"中,详细的介绍了这种攻击技术.这份白皮书大致包含了如下内容: ·攻击原理概述 ·实施攻击的方法 ·攻击所需的条件 ·已知的几个主流的Web 框架及缓存机制 ·缓解措施 Web缓存欺骗这种攻

【技术干货】浏览器工作原理和常见WEB攻击 (上)

本文作者:上海驻云开发总监 陈昂 浏览器工作原理 当你打开一个个设计漂亮.简洁大方的网页,有没有想过浏览器是如何展现这么一个网页的呢.当你在这些网页上输入你的淘宝账号登录购买东西的时候,有没有想过,你的账号密码.身份证号.手机号.真实姓名,这些信息会不会泄露,被黑客利用呢?在了解网络安全方面的知识之前我们先简单了解下浏览器的工作原理,以辅助我们更好的理解网络安全知识. 浏览器分类 现代浏览器从内核上来说,主要分为以下6大类: Trident内核,代表是IE EDGE内核,代表是微软的Edge浏览

【技术干货】浏览器工作原理和常见WEB攻击 (下)

本文作者:上海驻云开发总监 陈昂 上篇给大家带来的是关于浏览器基本工作原理的总结和介绍,这篇文章重点给大家说明有哪些常见WEB攻击. 常见WEB攻击 互联网是个面向全世界的开放平台,越是开放的东西漏洞就越是多.有人曾维护了一个列表,上面有上百种的WEB攻击方式.我们常见的有:脚本注入.SQL注入.DDoS.DNS劫持.端口漏洞扫描.密码暴力破解.XSS.CSRF等.这里只挑一些常见的攻击做个介绍: SQL注入 现在的网站很多都不再是纯粹的静态网站,例如一些CMS网站.交易网站.p2p/p2c网站

Web攻击流行 “云安全”技术被滥用几率将增

近日,整合Web.邮件和数据安全防护解决方案提供商Websense发布了对2009年的安全预测报告.其中值得注意的是,"云安全"技术被滥用.Web应用和Web 2.0应用等被恶意利用的几率将大幅增加. 报告指出,以云计算技术为基础的服务,如亚马逊的Web服务.微软的Azure 以及GoGrid等,为企业和用户提供了简单易用的基础运算.可按需租用的存储空间和大幅度的成本节省.但这些服务也引起了网络犯罪者和黑客们的高度关注,他们将利用这些技术和服务来达成其恶意目的.2009年,云计算技术被