Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 45075|Atbildi: 7

[ASP.NET] ASP.NET CSRF uzbrukums Ajax pieprasījuma iekapsulēšana

[Kopēt saiti]
Publicēts 2019-9-12 09:42:54 | | | |
Kas ir CSRF?

CSRF (starpvietņu pieprasījumu viltošana), pazīstams arī kā viena klikšķa uzbrukums/sesijas braukšana, ķīniešu saīsinājums: CSRF/XSRF. CSRF (Cross Site Request Forgery) ir tīkla uzbrukuma metode, kas 2007. gadā tika uzskaitīta kā viens no 20 galvenajiem drošības riskiem internetā. Citi drošības riski, piemēram, SQL skriptu injekcija un starpvietņu domēnu skriptu uzbrukumi, pēdējos gados ir kļuvuši plaši zināmi, un daudzas vietnes ir aizstāvējušās pret tiem. Tomēr CSRF joprojām ir svešs jēdziens lielākajai daļai cilvēku. Pat slavenākajam Gmail 2007. gada beigās bija CSRF ievainojamība, kas tika uzlauzta un radīja milzīgus zaudējumus Gmail lietotājiem.

Ko var darīt CSRF?

CSRF uzbrukumus var saprast šādi: uzbrucējs ir nozadzis jūsu identitāti un nosūtījis ļaunprātīgus pieprasījumus jūsu vārdā. CSRF var darīt tādas lietas kā sūtīt e-pastus, sūtīt ziņojumus, nozagt jūsu kontu vai pat iegādāties preces un pārskaitīt virtuālo valūtu jūsu vārdā...... Radītās problēmas ietver: personas privātuma noplūde un īpašuma drošība.

ASP.NET MVC AntiForgeryToken viltošanas novēršanas zīme

ASP.NET MVC veidlapu marķieri un sīkfailu marķieri tiek automātiski ģenerēti pēc noklusējuma, kad skata lapā tiek izmantots @Html.AntiForgeryToken(). Tomēr, ja mēs vēlamies panākt manuālu izgūšanu fonā, mums jāizmanto System.Web.Helpers.AntiForgery klase, un draugi, kuri ir ieinteresēti apskatīt avota kodu, atradīs, ka patiesībā @Html.AntiForgeryToken() iekšējā izsaukuma metode ir tāda pati kā AntiForgery klasei.

To galvenokārt izmanto, lai iegūtu atbilstošo formu un sīkfailu marķieri, izmantojot divas statiskas metodes: AntiForgery.GetHtml() vai AntiForgery.GetTokens(virkne oldCookieToken, izejas virkne newCookieToken, izejas virkne formToken). Tomēr jāatzīmē, ka, tiklīdz GetHtml metode ir izsaukta, atbilstošais sīkfaila marķieris tiks automātiski ģenerēts, un pēc tam tieši tiks atgriezts HTML koda gabals ar veidlapas marķiera vērtības slēpto lauku, un atgrieztā vērtība būs šādā formā:

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

Slēptā lauka nosaukums parasti ir fiksēts uz "__RequestVerificationToken", un vērtība ir šifrēts drošības marķieris. Šis slēptais lauks parasti tiek ievietots iesniedzamajā veidlapā, un galīgā iesniegšana tiek pārbaudīta pret sīkfaila marķieri.

Ja izmantojat GetTokens metodi, jūs varat iegūt šifrēto formu un sīkfailu marķieru pēc atbilstošo parametru nodošanas, bet šeit jums pašam jāsaglabā atbilstošās vērtības.

Tālāk mēs iepazīstināsim ar AntiForgeryToken manuālas atjaunināšanas metodi, galvenokārt izmantojot AJAX.

Paketes kods:



Testa kods:



Mēs konstatējām, ka, nosūtot ajax pieprasījumu, __RequestVerificationToken parametri tiek automātiski iekļauti, kā parādīts zemāk redzamajā attēlā:







Iepriekšējo:Windows CMD skata vēsturiskās komandu vēstures apmācība
Nākamo:Iepazīstieties ar Azure DevOps
 Saimnieks| Publicēts: 2019-9-25 18:09:46 |
Publicēts 2019-11-10 15:06:37 |
Vai jūs neuzrakstījāt fona ārstēšanas plānu? Fona apstrāde galvenē atšķiras no fona apstrādes bez galvenes
 Saimnieks| Publicēts 2019-11-21 10:38:40 |
Danqingcheng Publicēts 2019-11-10 15:06
Vai jūs neuzrakstījāt fona ārstēšanas plānu? Fona apstrāde galvenē atšķiras no fona apstrādes bez galvenes

Hmm, man ir jāpārraksta filtrs
 Saimnieks| Publicēts 2021-2-20 19:22:14 |
mvc ajax ar AntiForgeryToken, lai novērstu CSRF uzbrukumus
https://www.itsvse.com/thread-4207-1-1.html
Publicēts 2021-12-9 18:41:29 |
testteststeststestteststests
 Saimnieks| Publicēts 2022-4-17 12:59:39 |
 Saimnieks| Publicēts 2024-9-26 15:57:52 |
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com