hacktricks/pentesting-web/xss-cross-site-scripting/chrome-cache-to-xss.md
2024-02-11 02:13:58 +00:00

37 lines
3.5 KiB
Markdown

# Chrome Cache to XSS
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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**](https://github.com/sponsors/carlospolop)!
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
Maelezo zaidi [**katika andishi hili**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote).
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:
1. Tembelea ukurasa wa wavuti, kwa mfano, `https://example.com`.
2. Tekeleza `open("http://spanote.seccon.games:3000/api/token")`, ambayo inasababisha jibu la seva na msimbo wa hali 500.
3. Katika kichupo kilichofunguliwa kipya, naviga hadi `http://spanote.seccon.games:3000/`. Hatua hii inahifadhi jibu la `http://spanote.seccon.games:3000/api/token` kama disk cache.
4. 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](https://web.dev/i18n/en/bfcache/) na [nyaraka za kubuni za Chromium kuhusu disk cache](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/), mtawaliwa.