6.7 KiB
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!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i 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 {% 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 {% endcontent-ref %}
Odbrane
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://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers
- https://github.blog/2013-04-09-yummy-cookies-across-domains/
- Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities
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!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.