mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
50 lines
4.9 KiB
Markdown
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>
|