Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 45075|Odgovoriti: 7

[ASP.NET] ASP.NET CSRF napad Ajax zahteva enkapsulacijo

[Kopiraj povezavo]
Objavljeno 12. 9. 2019 09:42:54 | | | |
Kaj je CSRF?

CSRF (Cross-site request propowerry), znan tudi kot napad z enim klikom/vožnja seje, kitajska okrajšava: CSRF/XSRF. CSRF (CrossSite Request Forgery) je metoda omrežnega napada, ki je bila leta 2007 uvrščena med 20 največjih varnostnih tveganj na internetu. Druga varnostna tveganja, kot so vbrizgavanje SQL skript in napadi na skripte med različnimi domenami, so v zadnjih letih postala dobro znana, številne spletne strani pa so se pred njimi branile. Vendar pa je CSRF za večino ljudi še vedno tuj pojem. Tudi najbolj znan Gmail je imel ranljivost CSRF konec leta 2007, ki je bila vdrta in povzročila velike izgube uporabnikom Gmaila.

Kaj lahko CSRF stori?

CSRF napade lahko razumete tako: napadalec vam je ukradel identiteto in poslal zlonamerne zahteve v vašem imenu. CSRF lahko opravlja stvari, kot so pošiljanje e-pošte, sporočil, kraja vašega računa ali celo nakup blaga in prenos virtualne valute v vašem imenu...... Težave, ki nastanejo, vključujejo: uhajanje zasebnosti in varnost lastnine.

ASP.NET MVC AntiForgeryToken proti ponarejanju

V ASP.NET MVC se žetoni obrazcev in žetoni piškotkov samodejno generirajo privzeto, kadar je @Html.AntiForgeryToken() uporabljen na strani za ogled. Če pa želimo doseči ročno pridobivanje v ozadju, moramo uporabiti razred System.Web.Helpers.AntiForgery, prijatelji, ki jih zanima ogled izvorne kode, pa bodo ugotovili, da je metoda notranjega klica @Html.AntiForgeryToken() enaka kot pri razredu AntiForgery.

Uporablja se predvsem za pridobitev ustreznega obrazca in žetona za piškotek preko dveh statičnih metod: AntiForgery.GetHtml() ali AntiForgery.GetTokens(string oldCookieToken, out string newCookieToken, out string formToken). Vendar je treba opozoriti, da se po klicu metode GetHTML samodejno generira ustrezni žeton piškotka, nato pa se neposredno vrne kos HTML kode s skritim poljem vrednosti žetona obrazca, vrnjena vrednost pa bo v tej obliki:

<vhodno ime="__RequestVerificationToken" type="hidden" value="8_nUk_3z0svQr9qcvRBi9SWMZ2-SYmuy9kRe9OgRobGULkb2Z4JZxRZFhR0ndeoy9hmDLDru7MFk-W4xrnL5z5T6VbkfXK7fyRk-egQBGm41">

Ime skritega polja je običajno fiksirano na "__RequestVerificationToken", vrednost pa je šifrirani varnostni žeton. To skrito polje je običajno vključeno v obrazec za oddajo, končna oddaja pa se preveri z žetonom piškotka.

Če uporabite metodo GetTokens, lahko pridobite šifrirano obliko in žeton piškotka po posredovanju ustreznih parametrov, vendar morate tukaj ustrezne vrednosti shraniti sami.

Nato bomo predstavili metodo ročnega posodabljanja AntiForgeryToken, predvsem preko AJAX-a.

Koda paketa:



Testna koda:



Ugotovili smo, da se ob pošiljanju ajax zahteve samodejno vključijo __RequestVerificationToken parametri, kot je prikazano na spodnji sliki:







Prejšnji:Windows CMD Oglejte si zgodovinski vodič za zgodovino ukazov
Naslednji:Meet Azure DevOps
 Najemodajalec| Objavljeno 25. 9. 2019 ob 18:09:46 |
Objavljeno 10. 11. 2019 ob 15:06:37 |
Ali nisi napisal načrta zdravljenja za ozadje? Obdelava v ozadju znotraj glave je drugačna od ozadne obdelave brez glave
 Najemodajalec| Objavljeno 21. 11. 2019 ob 10:38:40 |
Danqingcheng objavljeno 10. 11. 2019 ob 15:06
Ali nisi napisal načrta zdravljenja za ozadje? Obdelava v ozadju znotraj glave je drugačna od ozadne obdelave brez glave

Hmm, moram prepisati filter
 Najemodajalec| Objavljeno 2021-2-20 ob 19:22:14 |
mvc ajax z AntiForgeryTokenom za preprečevanje napadov CSRF
https://www.itsvse.com/thread-4207-1-1.html
Objavljeno 9. 12. 2021 ob 18:41:29 |
testtesttesttesttesttesttest
 Najemodajalec| Objavljeno 17. 4. 2022 ob 12:59:39 |
 Najemodajalec| Objavljeno 26. 9. 2024 ob 15:57:52 |
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com