Cyber Security - Web Cache Deception
Web Cache
許多網站為了加快對靜態網頁頁面的存取速度,會透過網頁快取(Web Cache)來儲存使用者曾經拜訪過的資料/頁面,以減少使用者等待網頁的時間,免得你在那邊等圈圈等老半天
而 Web Cache 暫存資料的地方,多是位在 CDN 上
CDN
Content Delivery Network 內容傳遞網路是分散在各處的伺服器,使地理位址上較靠近任一 CDN 使用者的在存取快取內容時更加快速
Web Cache Deception
Web Cache Deception 簡單來說,就是駭客透過從 Web Cache 的資料中獲得使用者的機敏資料
How Web Cache Deception Attack Implement
Web Cache 通常是靜態頁面,靜態頁面大多不會有使用者的機敏資訊
當這個網站存在 Web Cache Deception 漏洞時,當駭客輸入一個原本不存在的網頁,因為無法回傳該不存在頁面的資料,會回傳該網站上一層的資料給使用者
駭客的攻擊手法如下:
透過在該網站輸入原先不存在的網頁網址,該網站因為無法回傳不存在的網頁資料,只好回傳上一層存在網頁的資料給查詢者,因此駭客就可能竊取到使用者的機敏資訊
目前常見解法:
有些雲端服務業者會設定 Cache 儲存時間為 0 秒
網頁設定 Cache 機制時,要符合 Web Cache 的 Header 允許的頁面,不存在的頁面不主動回應上一層的頁面資訊
所有 Cache 存放的靜態檔案都要在原本規定的目錄中,也只允許在原本的目錄頁面呈現 Cache 的靜態檔案資料
不存在的網頁頁面,直接回應 404 就好了