# Bacanje kolačića
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)! Drugi načini podrške HackTricks-u: * Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)! * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
### Opis Ako napadač može **kontrolisati poddomen ili domen kompanije ili pronađe XSS u poddomenu**, moći će da izvede ovaj napad. Kao što je naznačeno u sekciji Hekovanje kolačića, kada se **kolačić postavi na domen (navođenjem), biće korišćen na domenu i poddomenima.** {% hint style="danger" %} Stoga, **napadač će moći da postavi određeni kolačić na domen i poddomene tako što će uraditi nešto slično kao** `document.cookie="sesija=1234; Putanja=/app/login; domen=.primer.com"` {% endhint %} Ovo može biti opasno jer napadač može: * **Fiksirati kolačić žrtve na nalog napadača** tako da ako korisnik ne primeti, **izvršavaće radnje na nalogu napadača** i napadač može dobiti neke zanimljive informacije (proverite istoriju pretraga korisnika na platformi, žrtva može postaviti svoju kreditnu karticu na nalog...) * Ako se **kolačić ne promeni nakon prijave**, napadač može jednostavno **fiksirati kolačić (fiksacija sesije)**, sačekati da se žrtva prijavi, a zatim **koristiti taj kolačić da se prijavi kao žrtva**. * Ponekad, čak i ako se sesioni kolačić promeni, napadač može koristiti prethodni i dobiće i novi. * Ako **kolačić postavlja neku početnu vrednost** (kao u flask gde **kolačić** može **postaviti CSRF token** sesije i ta vrednost će se održati nakon što se žrtva prijavi), **napadač može postaviti tu poznatu vrednost i zatim je zloupotrebiti** (u tom scenariju, napadač može naterati korisnika da izvrši CSRF zahtev jer zna CSRF token). * Baš kao što postavlja vrednost, napadač takođe može dobiti neautentifikovan kolačić generisan od strane servera, dobiti CSRF token iz njega i koristiti ga. ### Redosled kolačića Kada pregledač primi dva kolačića sa istim imenom **delimično utičući na isti opseg** (domen, poddomeni i putanja), **pregledač će poslati obe vrednosti kolačića** kada su oba validna za zahtev. Zavisno o tome ko ima **najspecifičniju putanju** ili koji je **stariji**, pregledač će **prvo postaviti vrednost kolačića** a zatim vrednost drugog kao u: `Kolačić: idkorisnika=SpecifičnijiINajstarijiKolačić; idkorisnika=ManjeSpecifičan;` Većina **veb sajtova će koristiti samo prvu vrednost**. Dakle, ako napadač želi da postavi kolačić, bolje je postaviti ga pre nego što se postavi drugi ili postaviti sa specifičnijom putanjom. {% hint style="warning" %} Osim toga, mogućnost **postavljanja kolačića u specifičniju putanju** je veoma interesantna jer ćete moći da naterate **žrtvu da radi sa svojim kolačićem osim u specifičnoj putanji gde će zlonamerni kolačić biti poslat pre**. {% endhint %} ### Bypass zaštite Moguća zaštita od ovog napada bi bila da **veb server neće prihvatiti zahteve sa dva kolačića sa istim imenom ali sa dve različite vrednosti**. Da bi zaobišao scenario gde napadač postavlja kolačić nakon što je žrtvi već dat kolačić, napadač bi mogao izazvati **prekoračenje kolačića** a zatim, kada se **legitimni kolačić obriše, postaviti zlonamerni**. {% content-ref url="cookie-jar-overflow.md" %} [cookie-jar-overflow.md](cookie-jar-overflow.md) {% endcontent-ref %} Još jedan koristan **bypass** mogao bi biti **URL enkodiranje imena kolačića** jer neke zaštite proveravaju da li postoje 2 kolačića sa istim imenom u zahtevu i tada će server dekodirati imena kolačića. ### Kolačićka bomba Napad Bacanja kolačića takođe može biti korišćen za izvođenje **Kolačićke bombe**: {% content-ref url="cookie-bomb.md" %} [cookie-bomb.md](cookie-bomb.md) {% endcontent-ref %} ### Odbran**e** #### **Koristite prefiks `__Host` u imenu kolačića** * Ako ime kolačića ima ovaj prefiks, **biće prihvaćeno samo** u Set-Cookie direktivi ako je označeno kao Sigurno, poslato sa sigurnog porekla, ne uključuje atribut Domen i ima postavljenu Putanju na / * **Ovo sprečava poddomene da prisile kolačić na vrhunski domen jer se ovi kolačići mogu smatrati "zaključanim za domen"** ### Reference * [**@blueminimal**](https://twitter.com/blueminimal) * [**https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers**](https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers) * [**https://github.blog/2013-04-09-yummy-cookies-across-domains/**](https://github.blog/2013-04-09-yummy-cookies-across-domains/) * [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg)
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)! Drugi načini podrške HackTricks-u: * Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)! * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.