Lastnost SameSite
Od Chrome 51 naprej je bil v piškotke brskalnika dodan nov atribut SameSite, ki preprečuje napade CSRF in sledenje uporabnikom (zlonamerno pridobivanje piškotkov s strani tretjih oseb) ter omejuje piškotke tretjih oseb, s čimer zmanjšuje varnostna tveganja.
SameSite, definiran v RFC6265bis:Prijava do hiperpovezave je vidna.
O CSRF Attack Recap:
Lastnost SameSite lahko nastavimo na tri vrednosti:Strogo、Lax、Brez。
Strogo: Strogo prepovedujte tretjim osebam pridobivanje piškotkov in ne pošiljajte piškotkov pod nobenim pogojem, ko greste med spletnimi stranmi; Piškotki bodo vključeni le, če se URL trenutne strani ujema s ciljno zahtevo. To pravilo je preveč strogo in lahko povzroči zelo slabo uporabniško izkušnjo. Na primer, če je na trenutni spletni strani GitHub povezava, uporabniki ob kliku na skok ne bodo imeli GitHub piškotkov, preskok pa je bil vedno odkrit.
Ohlapna: Preprečite cross-site, v večini primerov je pridobivanje piškotkov prepovedano, razen za GET zahteve (povezave, prednaložitve, GET obrazce), ki vodijo do ciljnega URL-ja; Ko je določena stroga ali sproščena, so CSRF napadi praktično odpravljeni. Seveda je to pod pogojem, da uporabniški brskalnik podpira lastnost SameSite.
Atribut SameSitePrivzeto SameSite=Lax[Ta operacija velja za različice po izdaji stabilne različice Chrome 80 4. februarja 2019]
Nobena: Ni omejitev.
Atribut Secure je prav tako nastavljen (piškotke je mogoče pošiljati le prek protokola HTTPS), sicer ne bo veljaven. [Ta operacija velja za različice po izdaji stabilne različice Chrome 80 4. februarja 2019]
Preizkusite lastnost SameSite
Dinamično naložimo sliko lokacije A preko F12 konzole na lokaciji A, koda je naslednja:
Iz omrežne zahteve lahko vidimo, da ko lokacija A zahteva sliko domene strani A, boNosite piškotke(SameSite nima nastavitev, tj. Lax), kot je prikazano na spodnji sliki:
Naključno najdemo stran B, nato pa dinamično naložimo sliko lokacije A in jo najdemoNe prenašaVsak piškotek, kot je prikazano spodaj:
(Konec)
|