Chrome Cache to XSS
Reading time: 3 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Maelezo zaidi katika andiko hili.
Teknolojia inayozungumziwa hapa inahusisha kuelewa tabia na mwingiliano wa aina mbili kuu za cache: back/forward cache (bfcache) na disk cache. bfcache, ambayo inahifadhi picha kamili ya ukurasa ikiwa ni pamoja na JavaScript heap, ina kipaumbele juu ya disk cache kwa ajili ya urambazaji wa nyuma/mbele kutokana na uwezo wake wa kuhifadhi picha pana zaidi. Disk cache, kinyume chake, inahifadhi rasilimali zilizopatikana kutoka mtandao bila kujumuisha JavaScript heap, na inatumika kwa urambazaji wa nyuma/mbele ili kupunguza gharama za mawasiliano. Kipengele cha kuvutia cha disk cache ni kujumuisha rasilimali zilizopatikana kwa kutumia fetch
, ikimaanisha rasilimali za URL zilizofikiwa zitaonyeshwa na kivinjari kutoka kwenye cache.
Vidokezo Muhimu:
- bfcache ina kipaumbele juu ya disk cache katika urambazaji wa nyuma/mbele.
- Ili kutumia ukurasa uliohifadhiwa kwenye disk cache badala ya bfcache, bfcache inapaswa kuzuiliwa.
Kuzuilia bfcache:
Kwa kawaida, Puppeteer inazuilia bfcache, ikilingana na masharti yaliyoorodheshwa katika nyaraka za Chromium. Njia moja yenye ufanisi ya kuzuilia bfcache ni kupitia matumizi ya RelatedActiveContentsExist
, ambayo inapatikana kwa kufungua ukurasa kwa kutumia window.open()
ambao unashikilia rejeleo kwa window.opener
.
Kurejesha tabia:
- Tembelea ukurasa wa wavuti, kwa mfano,
https://example.com
. - Teua
open("http://spanote.seccon.games:3000/api/token")
, ambayo inasababisha jibu la seva lenye msimbo wa hali 500. - Katika kichupo kilichofunguliwa mpya, tembelea
http://spanote.seccon.games:3000/
. Kitendo hiki kinahifadhi jibu lahttp://spanote.seccon.games:3000/api/token
kama disk cache. - Tumia
history.back()
kurudi nyuma. Kitendo hiki kinapelekea uonyeshaji wa jibu la JSON lililohifadhiwa kwenye ukurasa.
Uthibitisho kwamba disk cache ilitumika unaweza kuthibitishwa kupitia matumizi ya DevTools katika Google Chrome.
Kwa maelezo zaidi kuhusu bfcache na disk cache, viungo vinaweza kupatikana katika web.dev kuhusu bfcache na nyaraka za muundo za Chromium kuhusu disk cache, mtawalia.
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.