Aplicația acceptă cererea deoarece credențiale precum cookie-urile o însoțesc automat, fără a confirma adecvat că utilizatorul a intenționat acțiunea. Impactul este limitat de privilegiile utilizatorului și de operațiunea vulnerabilă.
Apărările trebuie să distingă acțiunile intenționate din aceeași aplicație de cererile inițiate sau influențate în altă parte. Protecția furnizată de framework este de preferat când domeniul și configurația sa sunt înțelese, iar acțiunile sensibile pot avea nevoie și de reautentificare sau confirmare explicită.
Puncte esențiale
Integritatea cereriiFolosiți tokenuri anti-CSRF imprevizibile legate de sesiunea utilizatorului și validați-le server-side la cereri care schimbă starea, sau folosiți alt model suportat de framework cu proprietăți echivalente.
Semnale de browserConfigurați cookie-urile SameSite adecvat și validați anteturile Origin, Fetch Metadata sau anteturi personalizate așteptate acolo unde este potrivit; tratați-le ca semnale stratificate cu compatibilitate și comportament de proxy documentate.
Proiectarea fluxului de lucruNu permiteți metodelor de cerere nominal read-only să schimbe starea, cereți autorizare curentă pentru fiecare acțiune, limitați privilegiile și durata sesiunii și adăugați verificări step-up pentru operațiuni cu consecințe mari.
Limitare importantăCookie-urile SameSite sau prezența tokenurilor singure nu garantează protecția. Tokenurile pot fi divulgate, predictibile sau legate incorect, iar cross-site scripting (XSS) în interiorul aplicației de încredere poate învinge multe apărări CSRF.