Cross-Site Scripting (XSS) este o vulnerabilitate a aplicațiilor web care permite unui atacator să injecteze cod malițios, de obicei JavaScript, într-o pagină pe care o vede altcineva — codul rulează apoi direct în browserul victimei, cu aceleași drepturi ca orice script legitim al site-ului respectiv. Spre deosebire de o injecție SQL, ținta directă nu este baza de date, ci utilizatorii site-ului.
Cum funcționează XSS?
Dacă o aplicație web afișează text introdus de un utilizator (un comentariu, o recenzie, un câmp de profil) fără să-l "curețe" corect, un atacator poate insera acolo cod care nu se afișează ca text obișnuit, ci se execută ca script atunci când altcineva vizitează pagina. Codul poate fura cookie-uri de sesiune, poate redirecționa victima către o pagină falsă sau poate acționa în numele ei pe site, fără ca aceasta să observe ceva neobișnuit.
De ce contează?
Pentru că victima directă nu este serverul, ci alți utilizatori nevinovați ai site-ului — clienți, colegi, vizitatori obișnuiți. Un atac XSS reușit poate duce la deturnarea sesiunii unui utilizator autentificat, permițând atacatorului să preia contul acestuia fără să-i cunoască parola, doar furând sesiunea deja activă din browser.
Cum te protejezi?
- Dezvoltatorii trebuie să "curețe" (escape/encode) orice conținut generat de utilizatori înainte de a-l afișa pe pagină.
- Folosește politici de securitate a conținutului (Content Security Policy), care limitează ce scripturi pot rula pe o pagină.
- Ca utilizator, fii precaut la linkuri neobișnuite primite prin mesaje, care pot exploata un XSS existent pe un site altfel legitim.
- Testează aplicațiile web periodic printr-un test de penetrare, care verifică explicit și acest tip de vulnerabilitate.
Un exemplu concret
Secțiunea de comentarii a unui blog nu filtrează corect textul introdus. Un atacator postează un comentariu care conține cod ascuns; oricine citește pagina rulează, fără să știe, un script care îi fură cookie-ul de sesiune și îl trimite către server-ul atacatorului, care poate apoi accesa contul victimei direct.
Vrei să știi dacă site-ul firmei tale este vulnerabil la astfel de atacuri? Cere un test de penetrare.
Întrebări frecvente
XSS afectează doar site-ul atacat sau și vizitatorii lui?
Afectează în principal vizitatorii — codul malițios rulează în browserul lor, folosind încrederea acordată de aceștia site-ului legitim care găzduiește, fără să știe, scriptul injectat.
Un antivirus pe calculatorul meu mă protejează de XSS?
Parțial și indirect — unele soluții pot bloca scripturi cunoscute ca malițioase, dar protecția reală trebuie să vină din codul aplicației web, scris corect de dezvoltatori.
