3.5 KiB
Chrome Cache to XSS
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
- Je, unafanya kazi katika kampuni ya usalama wa mtandao? Je, ungependa kuona kampuni yako ikionekana katika HackTricks? Au ungependa kupata toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF? Angalia MPANGO WA KUJIUNGA!
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Pata swag rasmi ya PEASS & HackTricks
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au nifuatilie kwenye Twitter 🐦@carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye repo ya hacktricks na repo ya hacktricks-cloud.
Maelezo zaidi katika andishi hili.
Teknolojia inayojadiliwa hapa inahusisha kuelewa tabia na mwingiliano wa aina mbili kuu za cache: back/forward cache (bfcache) na disk cache. Bfcache, ambayo inahifadhi nakala kamili ya ukurasa ikiwa ni pamoja na JavaScript heap, inapewa kipaumbele kuliko disk cache kwa urambazaji wa nyuma/mbele kutokana na uwezo wake wa kuhifadhi nakala kamili zaidi. Disk cache, kwa upande mwingine, inahifadhi rasilimali zilizopatikana kutoka wavuti bila kujumuisha JavaScript heap, na hutumiwa kwa urambazaji wa nyuma/mbele ili kupunguza gharama za mawasiliano. Jambo la kuvutia kuhusu disk cache ni pamoja na rasilimali zilizopatikana kwa kutumia fetch
, maana rasilimali za URL zilizopatikana zitarejeshwa na kivinjari kutoka kwenye cache.
Mambo muhimu:
- Bfcache ina kipaumbele kuliko disk cache katika urambazaji wa nyuma/mbele.
- Ili kutumia ukurasa uliohifadhiwa kwenye disk cache badala ya bfcache, bfcache inapaswa kuzimwa.
Kuzima bfcache:
Kwa chaguo-msingi, Puppeteer inazima bfcache, kulingana na hali zilizoorodheshwa katika nyaraka za Chromium. Njia moja yenye ufanisi ya kuzima bfcache ni kwa kutumia RelatedActiveContentsExist
, ambayo inafikiwa kwa kufungua ukurasa na window.open()
ambao unahifadhi kumbukumbu ya window.opener
.
Kurejesha tabia:
- Tembelea ukurasa wa wavuti, kwa mfano,
https://example.com
. - Tekeleza
open("http://spanote.seccon.games:3000/api/token")
, ambayo inasababisha jibu la seva na msimbo wa hali 500. - Katika kichupo kilichofunguliwa kipya, naviga hadi
http://spanote.seccon.games:3000/
. Hatua hii inahifadhi jibu lahttp://spanote.seccon.games:3000/api/token
kama disk cache. - Tumia
history.back()
kurudi nyuma. Hatua hiyo inasababisha uonyeshaji wa jibu la JSON lililohifadhiwa kwenye ukurasa.
Uhakiki kwamba disk cache ilikuwa imetumika inaweza kuthibitishwa kwa kutumia DevTools kwenye Google Chrome.
Kwa maelezo zaidi kuhusu bfcache na disk cache, marejeleo yanaweza kupatikana kwenye web.dev kuhusu bfcache na nyaraka za kubuni za Chromium kuhusu disk cache, mtawaliwa.