Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 7822|Antwoord: 1

CSRF-aanvallen op de SameSite-eigenschap van de cookie voorkomen

[Link kopiëren]
Geplaatst op 17-4-2022 20:24:47 | | | |
SameSite-eigenschap

Vanaf Chrome 51 is er een nieuw SameSite-attribuut toegevoegd aan de cookies van de browser om CSRF-aanvallen en gebruikerstracking (kwaadaardige verwerving van cookies door derden) te voorkomen en om cookies van derden te beperken, waardoor de beveiligingsrisico's worden verminderd.

SameSite gedefinieerd in RFC6265bis:De hyperlink-login is zichtbaar.

Over CSRF Attack Recap:

ASP.NET CSRF-aanval Ajax-verzoek om inkapseling
https://www.itsvse.com/thread-8077-1-1.html

mvc ajax met AntiForgeryToken om CSRF-aanvallen te voorkomen
https://www.itsvse.com/thread-4207-1-1.html

Analyseer het QQ Quick Login Protocol en Implementeer "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
De SameSite-eigenschap kan worden ingesteld op drie waarden:Strict、Lax、None

Streng: Verbied strikt dat derden cookies verkrijgen, en verzend onder geen enkele omstandigheid cookies wanneer ze cross-site zijn; Cookies worden alleen opgenomen als de URL van de huidige pagina overeenkomt met het verzoekdoel. Deze regel is te streng en kan een zeer slechte gebruikerservaring veroorzaken. Als er bijvoorbeeld een GitHub-link op de huidige webpagina staat, hebben gebruikers geen GitHub-cookies wanneer ze op de sprong klikken, en de sprong is altijd uitgelogd.

Slap: Voorkom cross-site, in de meeste gevallen is het verboden om cookies te verkrijgen, behalve voor GET-verzoeken (links, preloads, GET-formulieren) die naar de bestemmings-URL navigeren; Zodra Strict of Lax is ingesteld, worden CSRF-aanvallen in feite geëlimineerd. Natuurlijk geldt dat de gebruikersbrowser de SameSite-eigenschap ondersteunt.

SameSite-attribuutDefault SameSite=Lax[Deze operatie geldt voor versies nadat Google de stabiele Chrome 80-versie op 4 februari 2019 heeft uitgebracht]



Geen: Er is geen limiet.

Het Secure-attribuut moet ook worden ingesteld (cookies kunnen alleen via het HTTPS-protocol worden verzonden), anders is het niet geldig. [Deze operatie geldt voor versies nadat Google de stabiele Chrome 80-versie op 4 februari 2019 heeft uitgebracht]


Test de SameSite-eigenschap

We laden dynamisch een afbeelding van locatie A via de F12-console op locatie A, de code is als volgt:

We kunnen aan de netwerkverzoek zien dat wanneer site A een afbeelding van de domeinnaam van site A aanvraagt, dit zal gebeurenKoekjes dragen(SameSite heeft geen instellingen, d.w.z. Lax), zoals te zien is op de onderstaande afbeelding:



We vinden willekeurig een locatie B, laden vervolgens dynamisch de afbeelding van A en vinden dieNiet dragenElke cookie, zoals hieronder getoond:



(Einde)





Vorig:jQuery hide werkt niet, twee oplossingen
Volgend:Hoekig element ngif hidden visibility wordt weergegeven en verborgen
Geplaatst op 17-4-2022 21:20:07 |
Leer leren...
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com