4.9 KiB
Chrome Cache to XSS
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
- Lavori in una azienda di sicurezza informatica? Vuoi vedere la tua azienda pubblicizzata su HackTricks? o vuoi avere accesso all'ultima versione di PEASS o scaricare HackTricks in PDF? Controlla i PACCHETTI DI ABBONAMENTO!
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguimi su Twitter 🐦@carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR al repo hacktricks e al repo hacktricks-cloud.
Ulteriori dettagli approfonditi in questo articolo.
La tecnica discussa qui riguarda la comprensione del comportamento e dell'interazione di due tipi di cache principali: la cache di avanzamento/indietro (bfcache) e la cache su disco. La bfcache, che memorizza uno snapshot completo di una pagina, compreso l'heap JavaScript, ha la precedenza sulla cache su disco per le navigazioni di avanzamento/indietro grazie alla sua capacità di memorizzare uno snapshot più completo. La cache su disco, al contrario, memorizza le risorse scaricate dal web senza includere l'heap JavaScript ed è utilizzata per le navigazioni di avanzamento/indietro per ridurre i costi di comunicazione. Un aspetto interessante della cache su disco è l'inclusione delle risorse scaricate utilizzando fetch
, il che significa che le risorse URL accessate verranno renderizzate dal browser dalla cache.
Punti chiave:
- La bfcache ha la precedenza sulla cache su disco nelle navigazioni di avanzamento/indietro.
- Per utilizzare una pagina memorizzata nella cache su disco invece della bfcache, quest'ultima deve essere disabilitata.
Disabilitazione della bfcache:
Di default, Puppeteer disabilita la bfcache, in linea con le condizioni elencate nella documentazione di Chromium. Un metodo efficace per disabilitare la bfcache è l'utilizzo di RelatedActiveContentsExist
, ottenuto aprendo una pagina con window.open()
che mantiene un riferimento a window.opener
.
Riproduzione del comportamento:
- Visita una pagina web, ad esempio
https://example.com
. - Esegui
open("http://spanote.seccon.games:3000/api/token")
, che restituisce una risposta del server con codice di stato 500. - Nella nuova scheda aperta, vai a
http://spanote.seccon.games:3000/
. Questa azione memorizza la risposta dihttp://spanote.seccon.games:3000/api/token
come cache su disco. - Usa
history.back()
per tornare indietro. L'azione comporta il rendering della risposta JSON memorizzata sulla pagina.
La conferma dell'utilizzo della cache su disco può essere verificata tramite l'uso di DevTools in Google Chrome.
Per ulteriori dettagli sulla bfcache e sulla cache su disco, è possibile trovare riferimenti su web.dev sulla bfcache e sui documenti di progettazione di Chromium sulla cache su disco, rispettivamente.
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
- Lavori in una azienda di sicurezza informatica? Vuoi vedere la tua azienda pubblicizzata su HackTricks? o vuoi avere accesso all'ultima versione di PEASS o scaricare HackTricks in PDF? Controlla i PACCHETTI DI ABBONAMENTO!
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguimi su Twitter 🐦@carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR al repo hacktricks e al repo hacktricks-cloud.