大家好!
大約幾天前,我在一個漏洞懸賞項目中利用Web緩存欺騙攻擊成功獲得他人敏感信息。這篇文章我將詳細說明這次攻擊流程。
在說明我的PoC之前,我想詳細解釋一下緩存欺騙攻擊和其影響。
Web緩存欺騙攻擊是由於Web應用未正確使用緩存功能而引起的,攻擊者往往能獲得緩存中的敏感數據。
在這種攻擊場景下,後台的Web應用程序通常會利用代理、cdn和其他服務來實現緩存功能。一般來說,緩存功能可以有效減少伺服器的工作負荷,縮短通信延遲,但很容易配置不當,形成漏洞。
假設有一個網址為www.example.com/home.php
的網站,如果你在該URL的末尾附加一個額外的文件擴展,比如www.example.com/home.php/a.jpg
,並且該網站具有緩存功能,那麼它就會把這個請求的相關信息緩存到指定伺服器的緩存目錄下。當然,這個文件擴展名也可以是其他,例如.css,.jpg,.js等。
因此,一旦有用戶訪問了有漏洞的網站,並緩存了信息,那麼攻擊者就有機會通過訪問同樣的端點來獲得受害者的信息。
main
上個星期,我參加了一個保密的滲透測試項目,遇到了三個不同的目標:
app.example.com
example.com
manage.example.com
測試者可以在example.com
網站中註冊並登錄。
app.example.com
網站主要涉及開發app;manage.example.com
主要涉及其他服務的身份驗證。
假設,example.com
網站如下所示: