Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 7822|Răspunde: 1

Prevenirea atacurilor CSRF asupra proprietății SameSite a cookie-ului

[Copiază linkul]
Postat la 2022-4-17 20:24:47 | | | |
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:

ASP.NET Atac CSRF Încapsularea cererii Ajax
https://www.itsvse.com/thread-8077-1-1.html

MVC ajax cu AntiForgeryToken pentru a preveni atacurile CSRF
https://www.itsvse.com/thread-4207-1-1.html

Analizează protocolul QQ Quick Login și implementează "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
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)





Precedent:jQuery hide nu funcționează în două soluții
Următor:Vizibilitatea ascunsă a elementelor unghiulare ngif este afișată și ascunsă
Postat la 2022-4-17 21:20:07 |
Învață să înveți...
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com