4 - Exploiting cache server normalization for web cache deception
#portswigger #cachedeception #pathtraversal #infodisclosure
Web cache deception lab delimiter list | Web Security Academy
En este caso, como es el CDN el que interpreta el path traversal , hay que buscar un payload que cachee el CDN e interprete el servidor:
==1.== /profile%2f%2e%2e%2fstatic
El CDN: interpreta como /static y cachea El servidor : interpreta como /profile%2f%2e%2e%2fstatic Falla y tira 404. ❌
==2.== /profile;%2f%2e%2e%2fstatic
El CDN: interpreta como static y cachea El servidor : interpreta como /profile Se cachea una respuesta dinámica. ✅
==Lab:==
El payload : /my-account;%2f%2e%2e%2fresources Se cachea (porque lo interpreta bien el CDN) , pero no se interpreta bien por el servidor (porque el servidor ve tal cual /profile%2f%2e%2e%2fstatic ) y retorna 404 (==1.==) ❌
Fuzzeamos para encontrar delimitador correcto, a parte de la lista, usamos también %00, %0A y %09 Encontramos %23 como delimitador , que devuelve 200.
El payload : /my-account%23%2f%2e%2e%2fresources Se cachea (porque el CDN interpreta el path traversal) y se muestra account (200) porque el servidor corta a partir de %23 (==2.==) ✅