一、摘要
Web缓存诈骗(Web Cache Deception)是一种新的web进犯办法,包括web结构以及缓存机制等在内的许多技能都会遭到这种进犯的影响。进犯者能够运用这种办法提取web用户的私家及灵敏信息,在某些场景中,进犯者运用这种办法乃至能够彻底接纳用户账户。
Web运用结构触及许多技能,这些技能存在缺省装备或脆弱性装备,这也是Web缓存诈骗进犯能够见效的原因地点。
假如某个用户拜访看上去人畜无害、实际上存在缝隙的一个URL,那么该Web运用所运用的缓存机制就会将用户拜访的详细页面以及用户的私家信息存储在缓存中。
二、布景介绍
2.1 什么是Web缓存
许多网站都会运用web缓存功能来削减web服务器的推迟,以便更快地响运用户的内容恳求。为了防止重复处理用户的恳求,web服务器引入了缓存机制,将经常被恳求的文件缓存起来,削减呼应推迟。
通常被缓存的文件都是静态文件或许公共文件,如样式表(css)、脚本(js)、文本文件(txt)、图片(png?www.tiechemo.com、bmp、gif)等等。通常情况下,这些文件不会包括任何灵敏信息。许多指导性文章在提及web缓存的装备时,会主张缓存一切揭露型静态文件,并疏忽掉这些文件的HTTP缓存头信息。
有多种办法能够完成缓存,比方,浏览器端也能够运用缓存机制:缓存文件后,一段时间内浏览器不会再次向web服务器恳求已缓存的文件。这类缓存与web缓存诈骗进犯无关。
完成缓存的另一种办法便是将一台服务器布置在客户端和web服务器之间,充任缓存服务器人物,这种完成办法会遭到web缓存诈骗进犯影响。这类缓存有各种表现形式,包括:
1、CDN(Content Delivery Network,内容分发 *** )。CDN是一种分布式署理 *** ,意图是快速呼应内容恳求。每个客户端都有一组署理服务器为其服务,缓存机制会挑选离客户端最近的一个节点来供给服务。
2、负载均衡(Load balancer)。负载均衡除了能够经过多台服务器平衡 *** 流量,也能缓存内容,以削减服务器的推迟。
3、反向署理(Reverse proxy)。反向署理服务器会替代用户向web服务器恳求资源,然后缓存某些数据。
了解了这些缓存机制后,让咱们来看看web缓存的实际工作进程。举个比如,“http://www.example.com”装备了一个反向署理服务器作为web缓存。与其他网站相似,这个网站运用了公共文件,如图片、css文件以及脚本文件。这些文件都是静态文件,该网站的一切或绝大部分用户都会用到这些文件,对每个用户来说,此类文件回来的内容没有不同。这些文件没有包括任何用户信息,因而从任何视点来看,它们都不归于灵敏文件。
某个静态文件之一次被恳求时,该恳求会直接穿透署理服务器。缓存机制没见过这个文件,因而会向服务器恳求这个文件,然后服务器会回来文件内容。现在,缓存机制需求辨认所接纳的文件的类型。不同缓存机制的处理流程有所不同,但在大多数情况下,署理服务器会依据URL的尾部信息提取文件的扩展名,然后再依据详细的缓存规矩,决议是否缓存这个文件。
假如文件被缓存,下一次任何客户端恳求这个文件时,缓存机制不需求向服务器建议恳求,会直接向客户端回来这个文件。
2.2 服务器的呼应
Web缓存诈骗进犯依赖于浏览器以及web服务器的呼应,这一点与RPO进犯相似,读者能够参阅The Spanner[1]以及XSS Jigsaw[2]宣布的两篇文章了解相关概念。
假定某个URL地址为“http://www.example.com/home.php/nonexistent.css ”,其间home.php是一个实在页面,而nonexistent.css是个不存在的页面,那么当用户拜访这个地址,会呈现什么情况呢?
在这种情况下,浏览器会向该URL发送一个GET恳求。咱们比较感兴趣的是服务器的反响。取决于服务器的完成技能以及详细装备,web服务器可能会回来一个200 OK呼应,一起回来home.php页面的内容,标明该URL与已有的页面共同。
服务器回来的HTTP呼应头与home.php页面的呼应头相同:即这两个呼应头包括相同的缓存头部以及相同的内容类型(本例中内容类型为text/html),如下图所示:
三、Web缓存诈骗办法
未经授权的进犯者很简单就能运用这个缝隙,详细步骤如下:
1、进犯者诱运用户拜访“https://www.hack56.com/images/ziqm5f5e4ky.png?www.tiechemo.com ”。
2、受害者的浏览器会恳求“https://www.hack56.com/images/ziqm5f5e4ky.png?www.tiechemo.com ”。
3、恳求抵达署理服务器,署理服务器没有缓存过这个文件,因而会向web服务器建议恳求。
4、Web服务器回来受害者的账户页面,呼应代码为200 OK,标明该URL与已有页面共同。
[1] [2] [3] [4] 黑客接单网
admin/live/header.php:(line:16-21) 182.18.31.71不需求其他字段{"id" : "1","name" : "知道创宇"}iis支撑各种脚本,假如能写w...
FuzzVul.checkPost(baseRequestResponse, helpers, stdout);//post检测函数Office类型的缝隙运用(CVE-2014-4114)–>邮...
火狐浏览器的ADD-ONS这个站点为登录用户供给了创立collections的功用。collections是相同加载项东西的调集,每个人都能够在该调集里边创立或许同享东西。每一个collection...
$at_id=(int)base64_decode($_REQUEST['id']);仿制代码是相同的作用。 2019 年 12 月 23 日,乌克兰电力网络遭到黑客进犯,导致伊万诺-弗兰科夫斯克州数...
....仿制代码不管怎样搜,一般咱们的固定思想是,GET取值不是数字便是字符。 整型数字,或许字符串。 那么你想没想过,假如你是程序编写者,你把这个真实的数字“躲藏”起来,该怎样做?一个好的办法便是对...
// See third_party/blink/public/mojom/appcache/appcache.mojom在2018年7月中旬,Managed Defense承认了针对同一职业的相似针...