Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 7822|Odpowiedź: 1

Zapobieganie atakom CSRF na własność SameSite ciasteczka

[Skopiuj link]
Opublikowano 2022-4-17 20:24:47 | | | |
Własność SameSite

Począwszy od Chrome 51, do plików cookie przeglądarki dodano nowy atrybut SameSite, aby zapobiegać atakom CSRF i śledzeniu użytkowników (złośliwemu przejmowaniu plików cookie przez osoby trzecie) oraz ograniczyć pliki cookie stron trzecich, co zmniejsza ryzyko bezpieczeństwa.

SameSite zdefiniowany w RFC6265bis:Logowanie do linku jest widoczne.

O podsumowaniu ataku CSRF:

ASP.NET atak CSRF Ajax żąda enkapsulacji
https://www.itsvse.com/thread-8077-1-1.html

mvc ajax z AntiForgeryToken, aby zapobiec atakom CSRF
https://www.itsvse.com/thread-4207-1-1.html

Przeanalizuj protokół szybkiego logowania QQ i zaimplementuj "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
Właściwość SameSite można ustawić na trzy wartości:Strict、Lax、None

Surowy: Surowo zabrania stronom trzecim pozyskiwania plików cookie i nie wysyła plików cookie w żadnym wypadku podczas korzystania z różnych stron; Pliki cookie będą dołączane tylko wtedy, gdy adres URL bieżącej strony odpowiada docelowemu żądaniu. Ta zasada jest zbyt surowa i może powodować bardzo złe doświadczenia użytkownika. Na przykład, jeśli na aktualnej stronie znajduje się link do GitHuba, użytkownicy nie będą mieli plików cookie GitHub po kliknięciu skoku, a skok zawsze był odlogowany.

Lax: Zapobieganie cross-site, w większości przypadków zabronione jest pobieranie plików cookie, z wyjątkiem żądań GET (linków, wstępnych ujęć, formularzy GET), które prowadzą do docelowego URL; Gdy ustalimy Strict lub Lax, ataki CSRF są praktycznie eliminowane. Oczywiście pod warunkiem, że przeglądarka użytkownika obsługuje właściwość SameSite.

Atrybut SameSiteDomyślny SameSite=Lax[Ta operacja dotyczy wersji po wydaniu stabilnej wersji Chrome 80 przez Google 4 lutego 2019 roku]



Żaden: Nie ma ograniczeń.

Atrybut Secure również musi być ustawiony (ciasteczka mogą być wysyłane tylko przez protokół HTTPS), w przeciwnym razie nie będzie ważny. [Ta operacja dotyczy wersji po wydaniu stabilnej wersji Chrome 80 przez Google 4 lutego 2019 roku]


Przetestuj własność SameSite

Dynamicznie ładujemy zdjęcie miejsca A przez konsolę F12 na stanowisku A, a kod wygląda następująco:

Widzimy z żądania sieciowego, że gdy strona A zażąda obrazu domeny strony A, toCarry cookies(SameSite nie ma ustawień, czyli Lax), jak pokazano na poniższym obrazku:



Losowo znajdujemy stronę B, a następnie dynamicznie ładujemy zdjęcie strony A i ją znajdujemyNie noszęDowolne ciasteczka, jak pokazano poniżej:



(Koniec)





Poprzedni:jQuery hide nie działa – dwa rozwiązania
Następny:Widoczność elementu kątowego ngif jest wyświetlana i ukryta
Opublikowano 2022-4-17 21:20:07 |
Naucz się uczyć...
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com