Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 45075|Atsakyti: 7

[ASP.NET] ASP.NET CSRF ataka Ajax užklausos inkapsuliavimas

[Kopijuoti nuorodą]
Publikuota: 2019-9-12 09:42:54 | | | |
Kas yra CSRF?

CSRF (Cross-site request forgery), taip pat žinomas kaip vieno paspaudimo ataka / seanso važiavimas, kinų santrumpa: CSRF/XSRF. CSRF (Cross Site Request Forgery) yra tinklo atakos metodas, kuris 2007 m. buvo įtrauktas į vieną iš 20 didžiausių saugumo rizikų internete. Pastaraisiais metais tapo gerai žinoma ir kita saugumo rizika, pvz., SQL scenarijaus injekcija ir kelių svetainių scenarijų atakos, ir daugelis svetainių nuo jų apsisaugojo. Tačiau CSRF daugumai žmonių vis dar yra svetima sąvoka. Net garsiausias "Gmail" 2007 m. pabaigoje turėjo CSRF pažeidžiamumą, į kurį buvo įsilaužta ir "Gmail" naudotojams buvo padaryta didžiulių nuostolių.

Ką gali padaryti CSRF?

CSRF atakas galite suprasti taip: užpuolikas pavogė jūsų tapatybę ir išsiuntė kenkėjiškas užklausas jūsų vardu. CSRF gali siųsti el. laiškus, siųsti žinutes, pavogti jūsų sąskaitą ar net pirkti prekes ir pervesti virtualią valiutą jūsų vardu...... Sukeltos problemos apima: asmens privatumo nutekėjimą ir turto saugumą.

ASP.NET MVC AntiForgeryToken apsaugos nuo klastojimo ženklas

ASP.NET MVC formos atpažinimo ženklai ir slapukų atpažinimo ženklai automatiškai generuojami pagal numatytuosius nustatymus, kai peržiūros puslapyje naudojamas @Html.AntiForgeryToken(). Tačiau, jei norime rankiniu būdu gauti fone, turime naudoti System.Web.Helpers.AntiForgery klasę, o draugai, kurie domisi šaltinio kodo peržiūra, pamatys, kad iš tikrųjų @Html.AntiForgeryToken() vidinio iškvietimo metodas yra toks pat kaip ir AntiForgery klasės.

Jis daugiausia naudojamas norint gauti atitinkamą formą ir slapuko raktą dviem statiniais būdais: AntiForgery.GetHtml() arba AntiForgery.GetTokens(eilutė oldCookieToken, iš eilutės newCookieToken, iš eilutės formToken). Tačiau reikia pažymėti, kad iškvietus GetHtml metodą, atitinkamas slapuko raktas bus automatiškai sugeneruotas, o tada HTML kodo dalis su paslėptos formos atpažinimo ženklo reikšmės lauku bus grąžinta tiesiogiai, o grąžinta reikšmė bus tokia forma:

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

Paslėpto lauko pavadinimas paprastai fiksuojamas kaip "__RequestVerificationToken", o reikšmė yra užšifruotas saugos atpažinimo ženklas. Šis paslėptas laukas paprastai dedamas į pateikiamas formą, o galutinis pateikimas patikrinamas pagal slapuko raktą.

Jei naudojate GetTokens metodą, galite gauti užšifruotą formą ir slapuko raktą perdavę atitinkamus parametrus, tačiau čia turite patys išsaugoti atitinkamas reikšmes.

Toliau pristatysime "AntiForgeryToken" rankinio atnaujinimo metodą, daugiausia per AJAX.

Pakuotės kodas:



Bandymo kodas:



Mes nustatėme, kad siunčiant ajax užklausą, automatiškai įtraukiami __RequestVerificationToken parametrai, kaip parodyta paveikslėlyje žemiau:







Ankstesnis:"Windows CMD View" istorinės komandų istorijos pamoka
Kitą:Susipažinkite su "Azure DevOps"
 Savininkas| Publikuota: 2019-9-25 18:09:46 |
Publikuota: 2019-11-10 15:06:37 |
Ar neparašėte foninio gydymo plano? Foninis apdorojimas antraštėje skiriasi nuo foninio apdorojimo be antraštės
 Savininkas| Publikuota: 2019-11-21 10:38:40 |
Danqingcheng Parašyta 2019-11-10 15:06
Ar neparašėte foninio gydymo plano? Foninis apdorojimas antraštėje skiriasi nuo foninio apdorojimo be antraštės

Hmm, man reikia perrašyti filtrą
 Savininkas| Publikuota: 2021-2-20 19:22:14 |
mvc ajax su AntiForgeryToken, kad būtų išvengta CSRF atakų
https://www.itsvse.com/thread-4207-1-1.html
Publikuota: 2021-12-9 18:41:29 |
testtesttesttesttesttesttesttesttestas
 Savininkas| Publikuota: 2022-4-17 12:59:39 |
 Savininkas| Publikuota: 2024-9-26 15:57:52 |
Kampinis sprendimas:Hipersaito prisijungimas matomas.
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com