Chrome Cache na XSS

Reading time: 3 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Meer in-diepte besonderhede in hierdie skrywe.

Die tegniek wat hier bespreek word, behels die begrip van die gedrag en interaksie van twee primêre cache-tipes: die back/forward cache (bfcache) en die disk cache. Die bfcache, wat 'n volledige snapshot van 'n bladsy stoor, insluitend die JavaScript heap, het prioriteit bo die disk cache vir terug-/vorige navigasies weens sy vermoë om 'n meer omvattende snapshot te stoor. Die disk cache, in teenstelling, stoor hulpbronne wat van die web verkry is sonder om die JavaScript heap in te sluit, en word gebruik vir terug-/vorige navigasies om kommunikasiekoste te verminder. 'n Interessante aspek van die disk cache is die insluiting van hulpbronne wat met fetch verkry is, wat beteken dat toegang URL-hulpbronne deur die blaaier uit die cache gerender sal word.

Sleutelpunte:

  • Die bfcache het voorrang bo die disk cache in terug-/vorige navigasies.
  • Om 'n bladsy wat in die disk cache gestoor is, te gebruik in plaas van bfcache, moet laasgenoemde gedeaktiveer word.

Deaktiveer bfcache:

Standaard deaktiveer Puppeteer bfcache, wat ooreenstem met die voorwaardes wat in Chromium se dokumentasie gelys is. 'n Effektiewe metode om bfcache te deaktiveer, is deur die gebruik van RelatedActiveContentsExist, wat bereik word deur 'n bladsy met window.open() te open wat 'n verwysing na window.opener behou.

Herproduksie van die gedrag:

  1. Besoek 'n webblad, bv. https://example.com.
  2. Voer open("http://spanote.seccon.games:3000/api/token") uit, wat 'n bedienerantwoord met 'n 500-statuskode tot gevolg het.
  3. In die nuutgeopende oortjie, navigeer na http://spanote.seccon.games:3000/. Hierdie aksie cache die antwoord van http://spanote.seccon.games:3000/api/token as 'n disk cache.
  4. Gebruik history.back() om terug te navigeer. Die aksie lei tot die rendering van die gecachede JSON-antwoord op die bladsy.

Verifikasie dat die disk cache gebruik is, kan bevestig word deur die gebruik van DevTools in Google Chrome.

Vir verdere besonderhede oor bfcache en disk cache, kan verwysings gevind word by web.dev oor bfcache en Chromium se ontwerpdokumente oor disk cache, onderskeidelik.

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks