Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 7822|Svar: 1

Förhindra CSRF-attacker mot cookiens egenskap SameSite

[Kopiera länk]
Publicerad den 2022-4-17 20:24:47 | | | |
SameSite-egendomen

Från och med Chrome 51 har ett nytt attribut SameSite lagts till i webbläsarens cookies för att förhindra CSRF-attacker och användarspårning (illvillig tredjepartsförvärv av cookies) samt för att begränsa tredjepartscookies, vilket minskar säkerhetsriskerna.

SameSite definierad i RFC6265bis:Inloggningen med hyperlänken är synlig.

Om CSRF-attacksammanfattning:

ASP.NET CSRF-attack Ajax-begäran om inkapsling
https://www.itsvse.com/thread-8077-1-1.html

mvc ajax med AntiForgeryToken för att förhindra CSRF-attacker
https://www.itsvse.com/thread-4207-1-1.html

Analysera QQ Quick Login-protokollet och implementera "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
SameSite-egenskapen kan sättas till tre värden:Strikt、Lax、Ingen

Sträng: Förbjud strikt tredje part att få tag på cookies, och skicka inte cookies under några omständigheter när man korsar sajten; Cookies inkluderas endast om URL:en på den aktuella sidan matchar förfrågningsmålet. Denna regel är för strikt och kan orsaka en mycket dålig användarupplevelse. Till exempel, om det finns en GitHub-länk på den aktuella webbsidan, kommer användare inte att ha GitHub-cookies när de klickar på hoppet, och hoppet har alltid varit avloggat.

Slapp: Förhindra cross-site, i de flesta fall är det förbjudet att hämta cookies, förutom för GET-förfrågningar (länkar, förladdningar, GET-formulär) som navigerar till destinations-URL:en; När Strikt eller Lax är satt elimineras CSRF-attacker i princip. Naturligtvis förutsatt att användarens webbläsare stöder egenskapen SameSite.

SameSite-attributetDefault SameSite=Lax[Denna åtgärd gäller för versioner efter att Google släpper Chrome 80 stabil version den 4 februari 2019]



Ingen: Det finns ingen gräns.

Secure-attributet måste också sättas (cookies kan endast skickas via HTTPS-protokollet), annars är det inte giltigt. [Denna åtgärd gäller för versioner efter att Google släpper Chrome 80 stabil version den 4 februari 2019]


Testa egenskapen SameSite

Vi laddar dynamiskt en bild av plats A genom F12-konsolen på plats A, koden är följande:

Vi kan se från nätverksförfrågan att när plats A begär en bild av domännamnet för plats A, kommer den att göra detBärkakor(SameSite har inga inställningar, dvs. Lax), som visas på bilden nedan:



Vi hittar slumpmässigt en B-plats och laddar sedan dynamiskt bilden av A-plats och hittar denInte bäraVilken kaka som helst, som visas nedan:



(Slut)





Föregående:jQuery hide fungerar inte, två lösningar
Nästa:Vinkelelement ngif hidden visibility visas och döljs
Publicerad den 2022-4-17 21:20:07 |
Lär dig att lära dig...
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com