hacktricks/pentesting-web/xss-cross-site-scripting/chrome-cache-to-xss.md
2024-02-10 13:03:23 +00:00

50 lines
4.9 KiB
Markdown

# Chrome Cache to XSS
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* 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**](https://github.com/sponsors/carlospolop)!
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR al** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
Ulteriori dettagli approfonditi [**in questo articolo**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote).
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:
1. Visita una pagina web, ad esempio `https://example.com`.
2. Esegui `open("http://spanote.seccon.games:3000/api/token")`, che restituisce una risposta del server con codice di stato 500.
3. Nella nuova scheda aperta, vai a `http://spanote.seccon.games:3000/`. Questa azione memorizza la risposta di `http://spanote.seccon.games:3000/api/token` come cache su disco.
4. 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](https://web.dev/i18n/en/bfcache/) e sui [documenti di progettazione di Chromium sulla cache su disco](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/), rispettivamente.
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* 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**](https://github.com/sponsors/carlospolop)!
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR al** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>