mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 07:01:09 +00:00
37 lines
3.5 KiB
Markdown
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.
|