# Chrome Cache to XSS {{#include ../../banners/hacktricks-training.md}} Više detalja [**u ovom izveštaju**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote). Tehnika o kojoj se ovde govori uključuje razumevanje ponašanja i interakcije dva glavna tipa keša: **back/forward cache (bfcache)** i **disk cache**. Bfcache, koji čuva kompletnu sliku stranice uključujući JavaScript heap, ima prioritet nad disk kešom za navigacije napred/nazad zbog svoje sposobnosti da čuva sveobuhvatniju sliku. Disk keš, s druge strane, čuva resurse preuzete sa veba bez uključivanja JavaScript heap-a, i koristi se za navigacije napred/nazad kako bi se smanjili troškovi komunikacije. Zanimljiv aspekt disk keša je njegovo uključivanje resursa preuzetih korišćenjem `fetch`, što znači da će resursi sa URL-a biti prikazani od strane pregledača iz keša. ### Ključne tačke: - **bfcache** ima prioritet nad disk kešom u navigacijama napred/nazad. - Da bi se iskoristila stranica smeštena u disk kešu umesto bfcache, potonji mora biti onemogućen. ### Onemogućavanje bfcache: Podrazumevano, Puppeteer onemogućava bfcache, u skladu sa uslovima navedenim u dokumentaciji Chromium-a. Jedan efikasan način da se onemogući bfcache je korišćenjem `RelatedActiveContentsExist`, što se postiže otvaranjem stranice sa `window.open()` koja zadržava referencu na `window.opener`. ### Reprodukcija ponašanja: 1. Posetite veb stranicu, npr., `https://example.com`. 2. Izvršite `open("http://spanote.seccon.games:3000/api/token")`, što rezultira odgovorom servera sa status kodom 500. 3. U novootvorenoj kartici, idite na `http://spanote.seccon.games:3000/`. Ova akcija kešira odgovor `http://spanote.seccon.games:3000/api/token` kao disk keš. 4. Koristite `history.back()` da se vratite nazad. Ova akcija rezultira prikazivanjem keširanog JSON odgovora na stranici. Verifikacija da je disk keš korišćen može se potvrditi korišćenjem DevTools u Google Chrome-u. Za dalja objašnjenja o bfcache i disk kešu, reference se mogu naći na [web.dev o bfcache](https://web.dev/i18n/en/bfcache/) i [Chromium-ovim dizajnerskim dokumentima o disk kešu](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/), redom. {{#include ../../banners/hacktricks-training.md}}