Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 45075|Odpověď: 7

[ASP.NET] ASP.NET CSRF útok Ajax žádá o zapouzdření

[Kopírovat odkaz]
Zveřejněno 12. 9. 2019 09:42:54 | | | |
Co je CSRF?

CSRF (Cross-site request forgery), známý také jako one-click attack/session riding, čínská zkratka: CSRF/XSRF. CSRF (Cross Site Request Forgery) je metoda síťového útoku, která byla v roce 2007 zařazena mezi 20 největších bezpečnostních rizik na internetu. Další bezpečnostní rizika, jako jsou injekce SQL skriptů a útoky skriptů přes domény, se v posledních letech stala známými a mnoho webových stránek se proti nim bránilo. CSRF je však pro většinu lidí stále cizí pojem. Dokonce i nejznámější Gmail měl na konci roku 2007 zranitelnost CSRF, která byla napadena a způsobila uživatelům Gmailu obrovské ztráty.

Co může CSRF udělat?

Útoky CSRF můžete pochopit takto: útočník vám ukradl identitu a poslal škodlivé požadavky na vaše jméno. CSRF může například posílat e-maily, zprávy, krást vám účet nebo dokonce nakupovat zboží a převádět virtuální měnu vaším jménem...... Mezi problémy patří únik soukromí a bezpečnost majetku.

ASP.NET Protipadělková značka MVC AntiCounterfeityToken

V ASP.NET MVC jsou tokeny formulářů a tokenů cookies automaticky generovány ve výchozím nastavení vždy, když je na stránce zobrazení použit @Html.AntiForgeryToken(). Pokud však chceme dosáhnout manuálního vyhledávání na pozadí, musíme použít třídu System.Web.Helpers.AntiForgery a přátelé, kteří mají zájem o prohlédnutí zdrojového kódu, zjistí, že metoda vnitřního volání @Html.AntiForgeryToken() je ve skutečnosti stejná jako u třídy AntiForgery.

Používá se hlavně k získání odpovídajícího formuláře a tokenu cookie dvěma statickými metodami: AntiForgery.GetHtml() nebo AntiForgery.GetTokens(string oldCookieToken, out string newCookieToken, out string formToken). Je však třeba poznamenat, že jakmile je metoda GetHtml vyvolána, odpovídající token cookie bude automaticky generován a poté se vrátí kus HTML kódu s ukrytým polem hodnoty tokenu formuláře, přičemž vrácená hodnota bude v tomto formátu:

<vstupní jméno="__RequestVerificationToken" type="hidden" value="8_nUk_3z0svQr9qcvRBi9SWMZ2-SYmuy9kRe9OgRobGULkb2Z4JZxRZFhR0ndeoy9hmDLDru7MFk-W4xrnL5z5T6VbkfXK7fyRk-egQBGm41">

Název skrytého pole je obvykle pevně označen na "__RequestVerificationToken" a hodnota je šifrovaný bezpečnostní token. Toto skryté pole je obvykle umístěno ve formuláři, který má odevzdat, a finální odeslání je ověřeno pomocí cookie tokenu.

Pokud použijete metodu GetTokens, můžete získat šifrovaný formulář a cookie token po předání odpovídajících parametrů, ale zde musíte odpovídající hodnoty uložit sami.

Dále představíme metodu ruční aktualizace AntiForgeryToken, převážně prostřednictvím AJAX.

Kód balíčku:



Testovací kód:



Zjistili jsme, že při odeslání ajax požadavku jsou __RequestVerificationToken parametry automaticky zahrnuty, jak je znázorněno na obrázku níže:







Předchozí:Windows CMD Zobrazit historický návod na historii příkazů
Další:Meet Azure DevOps
 Pronajímatel| Zveřejněno 25. 9. 2019 18:09:46 |
Zveřejněno 10. 11. 2019 15:06:37 |
Nenapsal jsi si plán léčby na pozadí? Zpracování na pozadí uvnitř hlavičky se liší od zpracování na pozadí bez hlavičky
 Pronajímatel| Zveřejněno 2019-11-21 10:38:40 |
Danqingcheng zveřejněno 10. 11. 2019 15:06
Nenapsal jsi si plán léčby na pozadí? Zpracování na pozadí uvnitř hlavičky se liší od zpracování na pozadí bez hlavičky

Hmm, musím přepsat filtr
 Pronajímatel| Zveřejněno 2021-2-20 19:22:14 |
mvc ajax s AntiForgeryTokenem pro prevenci útoků CSRF
https://www.itsvse.com/thread-4207-1-1.html
Zveřejněno 9. 12. 2021 18:41:29 |
testtesttesttesttesttesttesttest.
 Pronajímatel| Zveřejněno 17. 4. 2022 12:59:39 |
 Pronajímatel| Zveřejněno 26. 9. 2024 15:57:52 |
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com