Chrome Cache to XSS

Reading time: 3 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Više detalja u ovom izveštaju.

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 i Chromium-ovim dizajnerskim dokumentima o disk kešu, redom.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks