Proprietatea SameSite
Începând cu Chrome 51, un nou atribut SameSite a fost adăugat cookie-urilor browserului pentru a preveni atacurile CSRF și urmărirea utilizatorilor (achiziția malițioasă a cookie-urilor de către terți) și pentru a limita cookie-urile terțe, reducând astfel riscurile de securitate.
SameSite definit în RFC6265bis:Autentificarea cu hyperlink este vizibilă.
Despre recapitularea atacului CSRF:
Proprietatea SameSite poate fi setată la trei valori:Strict、Lax、Niciun。
Sever: Interzicere strict terților să obțină cookie-uri și nu trimite cookie-uri sub nicio formă atunci când sunt cross-site; Cookie-urile vor fi incluse doar dacă URL-ul paginii curente corespunde țintei cererii. Această regulă este prea strictă și poate duce la o experiență foarte proastă pentru utilizator. De exemplu, dacă există un link GitHub pe pagina web curentă, utilizatorii nu vor avea cookie-uri GitHub când dau click pe salt, iar saltul a fost întotdeauna deconectat.
Lax: Prevenirea cross-site-ului, în majoritatea cazurilor este interzisă obținerea cookie-urilor, cu excepția cererilor GET (linkuri, preîncărcări, formulare GET) care navighează către URL-ul destinației; Odată ce Strict sau Lax este setat, atacurile CSRF sunt practic eliminate. Desigur, acest lucru este presupus ca browserul utilizatorului să suporte proprietatea SameSite.
Atributul SameSiteImplicit SameSite=Lax[Această operațiune se aplică versiunilor după ce Google lansează versiunea stabilă Chrome 80 pe 4 februarie 2019]
Niciunul: Nu există limită.
Atributul Secure trebuie de asemenea setat (cookie-urile pot fi trimise doar prin protocolul HTTPS), altfel nu va fi valid. [Această operațiune se aplică versiunilor după ce Google lansează versiunea stabilă Chrome 80 pe 4 februarie 2019]
Testează proprietatea SameSite
Încărcăm dinamic o imagine a site-ului A prin consola F12 de la site-ul A, codul fiind următorul:
Putem vedea din cererea de rețea că atunci când site-ul A solicită o imagine a numelui domeniului site-ului A, acesta vaPoartă fursecuri(SameSite nu are setări, adică Lax), așa cum se vede în imaginea de mai jos:
Găsim aleatoriu un site B, apoi încărcăm dinamic poza site-ului A și îl găsimNu portOrice fursec, așa cum se arată mai jos:
(Sfârșit)
|