美文网首页
东塔 | Web缓存欺骗攻击

东塔 | Web缓存欺骗攻击

作者: 5f4120c4213b | 来源:发表于2020-07-20 21:58 被阅读0次

漏洞信息

披露者:Ron Reshef (ronr)

严重程度:中危

漏洞类型:Web缓存欺骗攻击

漏洞介绍

网站通常倾向于使用Web缓存功能来存储经常检索的文件,以减少来自Web服务器的延迟。

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

访问诸如http://www.example.com/home.php/non-existent.css之类的URL时,浏览器将生成对该URL的GET请求。

服务器返回http://www.example.com/home.php的内容。但是,URL仍为<u>http://www.example.com/home.php/non-existent.css</u>

HTTP标头与访问http://www.example.com/home.php的相同直接:相同的缓存标题和相同的内容类型(在这种情况下为text / html)。

Web缓存服务将返回的页面保存在服务器的缓存中。

然后,攻击者可以访问以下网址:http : //www.example.com/home.php/non-existent.css 然后可以显示受害者的页面并获取受害者的敏感信息(页面内容)。

与网络钓鱼攻击不同,此攻击中的危险部分是该URL看起来一点都不可疑。它看起来像原始网站上的普通网址,因此受害者认为可以单击该链接。

漏洞复现

攻击者将以下链接发送给受害者:https : //open.vanillaforums.com/messages/all/non-existent.css

受害者打开链接,收件箱页面将正常加载。(然后,Web缓存服务器将保存此页面)

攻击者打开相同的链接(https://open.vanillaforums.com/messages/all/non-existent.css),然后加载受害者及其所有私人竞争者的收件箱页面。

漏洞影响

攻击者可以获取特定受害者的所有私人内容,而无需受害者知道。

翻译自hackerone

这里我们可以分下一下漏洞的原理和漏洞的利用条件(参考freebuf)

漏洞原理

假设客户端请求

http://www.example.com/home.php/nonexistent.css 这个URL,其中home.php是真实存在的,而nonexistent.css不存在,那WEB服务器会怎么处理呢?针对这种情况的处理跟WEB服务器用的技术以及配置相关,有的会返回404 not found,有的会返回200 OK,然后把home.php返回回来。如果服务器返回200 OK就要注意了,这时缓存服务器拿到的请求是

http://www.example.com/home.php/nonexistent.css,是一个静态页面,而WEB服务器返回给缓存服务器的结果是http://www.example.com/home.php,不是一个静态页面,但是缓存服务器并不知道。

漏洞利用条件

  1. WEB服务器会将类似

http://www.example.com/home.php/nonexistent.css这种页面解析为home.php

2.缓存服务器会无视http header,只根据文件后缀来判断是否缓存该文件

3.受害者访问该页面时必须已登录

多数情况下这个是可以通过配置避免的,所以有些人认为这不算是个漏洞,所以也并没有什么补丁来解决这个问题,估计这个问题在很多地方都存在。

防御建议

1.配置缓存服务器根据http header来判断是否缓存页面;

2.将所有静态文件放在指定的目录,只缓存这个目录里的文件;

3.配置WEB服务器在解析类似http://www.example.com/home.php/nonexistent.css 这种页面时返回404或者302。

复现相关教程

Omer Gil创新地颠覆了WEB缓存欺骗利用方式,通过控制 Web 缓存可以保存其它用户的敏感数据,并成功在 Paypal 中实现了攻击复现

http://omergil.blogspot.com/2017/02/web-cache-deception-attack.html

相关文章

  • 东塔 | Web缓存欺骗攻击

    漏洞信息 披露者:Ron Reshef (ronr) 严重程度:中危 漏洞类型:Web缓存欺骗攻击 漏洞介绍 网站...

  • web缓存欺骗

    参考bobao.360.cn/learning/detail/4175.html 关于web缓存 一些静态文件,如...

  • 3.16 Web Cache欺骗攻击

    3.16.1. 简介   网站通常都会通过如CDN、负载均衡器、或者反向代理来实现Web缓存功能。通过缓存频繁访问...

  • 【原创】使用arpspoof实现内网ARP欺骗

    ARP欺骗是一种中间人攻击,攻击者通过毒化受害者的ARP缓存,将网关的MAC替换成攻击者的MAC,于是攻击者的主机...

  • WEB缓存初探

    WEB缓存初探 概念理解 缓存——缓存就是数据交换的缓冲区(称作Cache) 缓存 的作用说白了就是用来就近获取东...

  • 前端黑客之界面操作劫持

    什么是界面操作劫持? 界面操作劫持攻击是一种基于视觉欺骗的Web会话劫持攻击,它通过在网页的可见输 入控件上覆盖一...

  • 网站攻击分类及解决方法

    网站攻击一般分为3类,分别为ARP欺骗攻击、CC攻击、DDOS流量攻击。 一、先说ARP欺骗攻击 如果要发起ARP...

  • Web 安全

    1. SQL注入攻击 定义 攻击者通过把恶意SQL命令插入到web表单的输入域或页面请求的查询字符串中,来达到欺骗...

  • SQL注入式攻击

    SQL注入式攻击:攻击者吧SQL命令插入到Web表单的域或页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令。...

  • Web缓存与策略

    Web缓存定义 Web缓存(或HTTP缓存)是用于临时存储(缓存)Web文档(如HTML页面和图像),以减少服务器...

网友评论

      本文标题:东塔 | Web缓存欺骗攻击

      本文链接:https://www.haomeiwen.com/subject/ucsukktx.html