Chrome Cache to XSS

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Detaljnije informacije u ovom writeup-u.

Tehnika koja se ovde razmatra uključuje razumevanje ponašanja i interakcije dve osnovne vrste keša: back/forward keš (bfcache) i disk keš. Bfcache, koji čuva potpunu snimku stranice uključujući JavaScript hip, ima prioritet u odnosu na disk keš za back/forward navigacije zbog svoje sposobnosti da čuva sveobuhvatniju snimku. Disk keš, s druge strane, čuva resurse preuzete sa weba bez uključivanja JavaScript hipa i koristi se za back/forward navigacije radi smanjenja troškova komunikacije. Interesantan aspekt disk keša je uključivanje resursa preuzetih korišćenjem fetch, što znači da će pristupljeni URL resursi biti prikazani od strane pregledača iz keša.

Ključne tačke:

  • Bfcache ima prednost u odnosu na disk keš u back/forward navigacijama.

  • Da bi se koristio keš stranice sa diska umesto bfcache-a, potrebno je onemogućiti bfcache.

Onemogućavanje bfcache-a:

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šćenje RelatedActiveContentsExist, postignuto otvaranjem stranice sa window.open() koja zadržava referencu na window.opener.

Reprodukcija ponašanja:

  1. Posetite veb stranicu, na primer https://example.com.

  2. Izvršite open("http://spanote.seccon.games:3000/api/token"), što rezultira serverskim odgovorom sa status kodom 500.

  3. U novootvorenoj kartici, navigirajte 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 unazad. Ova akcija rezultira prikazivanjem keširanog JSON odgovora na stranici.

Potvrdu da je disk keš korišćen možete potvrditi korišćenjem DevTools-a u Google Chrome-u.

Za dodatne detalje o bfcache-u i disk kešu, reference se mogu pronaći na web.dev o bfcache-u i Chromium-ovim dizajnerskim dokumentima o disk kešu, redom.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Last updated