[Day13] Web Cache Poison

前言

你听过Web Cache,那Web Cache Poison呢?

正文

概念

Cache就是将内容留存一份在Cache Server/Service中,让有同样需求的用户可以直接取用,达到降低Web Server loading和延迟的效果

然而,若是没有妥善的处理Cache的操作和行为的话,可能就能让攻击者能够透过一些手段,对Cache投毒(Poison),使其他使用到Cache的普通用户受到威胁。

这种技术通常不是直接性的攻击,而常与其他Attack Vector结合,甚至可以将依些低影响的漏洞变得更加危险,例如攻击者在网页上找到一个R-XSS,若透过Cache Poison的方式,就可以将R-XSS简单的扩大影响范围,导致用户的cookie被窃取。

或是透过Open redirect将普通用户route到攻击者架设的web service中,并携带原网站的各种资讯(cookie)传送到攻击者的恶意web service中,达到大规模帐户接管。


图源

能做到Web Cache Poison的方法有很多,例如[Day4]的HTTP Request Smuggling和[Day8]的HTTP Response Splitting和下面Case Study中的unkey header都可以做到。

Case Study

在2018年portswigger的研究中,利用了unkeyed inputs来做到Poison Cache,像是X-Forwarded-Host和X-Original-URL。

red hat的homepage就被发现了这个问题,在X-Forwarded-Host中插入XSS的恶意内容,并确定其被加入Cache中。这就导致了在Cache还存在的时间段内,普通用户只要浏览到该网页,就会收到XSS的攻击,而且无法做出好的防范。更多内容可以参考PortSwigger


<<:  软件开发流程 需求蒐集法3 - 焦点团体

>>:  [Day 13] Forensics 小进阶

[Android Studio 30天自我挑战] Toast浮动显示快显元件

Toast元件可以短暂的在画面跳出提示讯息,并且不会影响Activity处理程序,当达到短暂秒数後便...

C#学习笔记1:C#程序结构 (Visual Studio)

这是我一边学习一边写下的笔记,如果内容有错,恳请在下方留言跟我说,我会非常感谢的!!! 以下我们用主...

微聊 术业有专攻 Blame要找对人

倒数第二天铁人赛了,微人今日不聊程序码了,想聊一下今天在预演的小插曲 先说明一下 我的队友们真的都很...

Day25:终於要进去新手村了-Javascript-函式-物件综合范例

今天我们举例的范例依然是由彭彭影片内的范例程序码加上自己所能理解的方式做个纪录以及学习。 在影片之中...

[2020铁人赛] Day26 - 用DocX汇出Word档案

今天来讲一下user的需求,要汇出一份word档,并且需要套上参数并替换值,其实nuget上有很多套...