iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
Security

讓Web開發者森77的Hacking Trick系列 第 13

[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


上一篇
[Day12] XSLT Injection
下一篇
[Day14] LDAP Injection
系列文
讓Web開發者森77的Hacking Trick30

尚未有邦友留言

立即登入留言