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
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
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:
- Besoek 'n webblad, bv.
https://example.com
. - Voer
open("http://spanote.seccon.games:3000/api/token")
uit, wat 'n bedienerantwoord met 'n 500-statuskode tot gevolg het. - In die nuutgeopende oortjie, navigeer na
http://spanote.seccon.games:3000/
. Hierdie aksie cache die antwoord vanhttp://spanote.seccon.games:3000/api/token
as 'n disk cache. - 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
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.