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

Widok: 45075|Odpowiedź: 7

[ASP.NET] ASP.NET atak CSRF Ajax żąda enkapsulacji

[Skopiuj link]
Opublikowano 2019-9-12 09:42:54 | | | |
Czym jest CSRF?

CSRF (fałszowanie żądań międzysymetrycznych), znane również jako atak jednym kliknięciem/jazda sesji, chiński skrót: CSRF/XSRF. CSRF (Cross Site Request Forgery) to metoda ataku sieciowego, która w 2007 roku została uznana za jedno z 20 największych zagrożeń bezpieczeństwa w Internecie. Inne zagrożenia bezpieczeństwa, takie jak wstrzykiwanie skryptów SQL czy ataki na skrypty między domenami lokalnymi, stały się w ostatnich latach dobrze znane, a wiele stron internetowych broniło się przed nimi. Jednak CSRF wciąż jest dla większości ludzi obcym pojęciem. Nawet najsłynniejszy Gmail miał lukę w CSRF pod koniec 2007 roku, która została zhakowana i spowodowała ogromne straty dla użytkowników Gmaila.

Co może zrobić CSRF?

Ataki CSRF można zrozumieć w ten sposób: atakujący ukradł twoją tożsamość i wysłał złośliwe żądania na twoje nazwisko. CSRF może wysyłać e-maile, wiadomości, kraść twoje konto, a nawet kupować towary i przelewać wirtualną walutę w Twoim imieniu...... Problemy powstałe obejmują: wycieki prywatności osobistej oraz bezpieczeństwo nieruchomości.

ASP.NET AntyfałszerstwoZnak przeciwfałszujący Antyfałszerstwo Token

W ASP.NET MVC tokeny formularzy i tokenów cookie są domyślnie generowane automatycznie za każdym razem, gdy @Html.AntiForgeryToken() jest używany na stronie widoku. Jednak jeśli chcemy uzyskać ręczne wyszukiwanie w tle, musimy użyć klasy System.Web.Helpers.AntiForgery, a znajomi zainteresowani przeglądem kodu źródłowego odkryją, że metoda wewnętrznego wywołania @Html.AntiForgeryToken() jest taka sama jak w klasie AntiForgery.

Jest głównie używany do uzyskania odpowiedniego formularza i tokena cookie za pomocą dwóch metod statycznych: AntiForgery.GetHtml() lub AntiForgery.GetTokens(string oldCookieToken, out string newCookieToken, out string formToken). Należy jednak zauważyć, że po wywołaniu metody GetHtml automatycznie zostanie wygenerowany odpowiedni token ciasteczka, a następnie fragment kodu HTML z ukrytą polem tokenu formularza zostanie zwrócony bezpośrednio, a zwrócona wartość będzie w następującym formie:

<input name="__RequestVerificationToken" type="hidden" value="8_nUk_3z0svQr9qcvRBi9SWMZ2-SYmuy9kRe9OgRobGULkb2Z4JZxRZFhR0ndeoy9hmDLDru7MFk-W4xrnL5z5T6VbkfXK7fyRk-egQBGm41">

Nazwa ukrytego pola jest zazwyczaj ustalana na "__RequestVerificationToken", a wartość ta jest zaszyfrowanym tokenem bezpieczeństwa. To ukryte pole jest zwykle umieszczane w formularzu do przesłania, a ostateczne przesłanie jest weryfikowane na tokenie ciasteczka.

Jeśli użyjesz metody GetTokens, możesz uzyskać zaszyfrowany formularz i token cookie po przesłaniu odpowiednich parametrów, ale tutaj musisz samodzielnie przechować odpowiednie wartości.

Następnie przedstawimy metodę ręcznej aktualizacji AntiForgeryToken, głównie za pomocą AJAX.

Kod pakietu:



Kod testowy:



Stwierdziliśmy, że podczas wysyłania żądania Ajax automatycznie uwzględniane są __RequestVerificationToken parametry, jak pokazano na poniższym rysunku:







Poprzedni:Windows CMD Zobacz historyczny samouczek historii poleceń
Następny:Meet Azure DevOps
 Ziemianin| Opublikowano 2019-9-25 18:09:46 |
Opublikowano 2019-11-10 15:06:37 |
Czy nie napisałaś planu leczenia w tle? Przetwarzanie w tle wewnątrz nagłówka różni się od przetwarzania w tle bez nagłówka
 Ziemianin| Opublikowano 2019-11-21 10:38:40 |
Danqingcheng opublikowano 2019-11-10, 15:06
Czy nie napisałaś planu leczenia w tle? Przetwarzanie w tle wewnątrz nagłówka różni się od przetwarzania w tle bez nagłówka

Hmm, muszę przepisać filtr
 Ziemianin| Opublikowano 2021-2-20 19:22:14 |
mvc ajax z AntiForgeryToken, aby zapobiec atakom CSRF
https://www.itsvse.com/thread-4207-1-1.html
Opublikowano 2021-12-9 18:41:29 |
testtesttesttesttesttest
 Ziemianin| Opublikowano 2022-4-17 12:59:39 |
 Ziemianin| Opublikowano 2024-9-26 15:57:52 |
Rozwiązanie kątowe:Logowanie do linku jest widoczne.
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