Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 45075|Vastaus: 7

[ASP.NET] ASP.NET CSRF-hyökkäys Ajax pyytää kapselointia

[Kopioi linkki]
Julkaistu 2019-9-12 09:42:54 | | | |
Mitä on CSRF?

CSRF (Cross-site request forgery), tunnetaan myös nimellä one click attack/session riding, kiinalainen lyhenne: CSRF/XSRF. CSRF (Cross Site Request Forgery) on verkkohyökkäysmenetelmä, joka listattiin vuonna 2007 yhdeksi Internetin 20 suurimmasta tietoturvariskistä. Muut turvallisuusriskit, kuten SQL-skriptien injektiointi ja monisivuiset verkkotunnuksen skriptihyökkäykset, ovat viime vuosina tulleet tunnetuiksi, ja monet verkkosivustot ovat puolustautuneet niitä vastaan. CSRF on kuitenkin useimmille ihmisille edelleen vieras käsite. Jopa kuuluisimmassa Gmailissa oli CSRF-haavoittuvuus loppuvuodesta 2007, joka hakkeroitiin ja aiheutti suuria tappioita Gmail-käyttäjille.

Mitä CSRF voi tehdä?

Voit ymmärtää CSRF-hyökkäykset näin: hyökkääjä on varastanut henkilöllisyytesi ja lähettänyt haitallisia pyyntöjä nimissäsi. CSRF voi tehdä asioita kuten lähettää sähköposteja, viestejä, varastaa tilisi tai jopa ostaa tavaroita ja siirtää virtuaalivaluuttaa puolestasi...... Aiheutettuihin ongelmiin kuuluvat: yksityisyyden vuodot ja omaisuuden turvallisuus.

ASP.NET MVC AntiForgeryToken -väärennösten vastainen merkki

ASP.NET MVC:ssä lomaketokenit ja evästetokenit generoidaan automaattisesti automaattisesti aina, kun katselusivulla käytetään @Html.AntiForgeryToken(). Kuitenkin, jos haluamme saavuttaa manuaalisen haun taustalla, meidän täytyy käyttää System.Web.Helpers.AntiForgery -luokkaa, ja ystävät, jotka haluavat nähdä lähdekoodin, huomaavat, että @Html.AntiForgeryToken():n sisäinen kutsumenetelmä on sama kuin AntiForgery-luokassa.

Sitä käytetään pääasiassa vastaavan muodon ja evästetokenin hankkimiseen kahdella staattisella menetelmällä: AntiForgery.GetHtml() tai AntiForgery.GetTokens (merkkijono oldCookieToken, uloslähtömerkkijono newCookieToken, ulosmerkkijono formToken). On kuitenkin huomioitava, että kun GetHtml-metodi on kutsuttu, vastaava evästetunniste luodaan automaattisesti, ja sitten pala HTML-koodia, jossa on lomaketokenin arvo piilotettu kenttä, palautetaan suoraan, ja palautettu arvo on tässä muodossa:

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

Piilotetun kentän nimi on yleensä kiinteä "__RequestVerificationToken", ja arvo on salattu turvatunnus. Tämä piilotettu kenttä sijoitetaan yleensä lähetettävään lomakkeeseen, ja lopullinen lähetys tarkistetaan evästetokenia vastaan.

Jos käytät GetTokens-menetelmää, voit saada salatun lomakkeen ja evästetokenin syöttämällä vastaavat parametrit, mutta tässä sinun täytyy tallentaa vastaavat arvot itse.

Seuraavaksi esittelemme menetelmän, jolla AntiForgeryToken päivitetään manuaalisesti, pääasiassa AJAX:n kautta.

Pakettikoodi:



Testikoodi:



Huomasimme, että ajax-pyyntöä lähetettäessä __RequestVerificationToken parametrit sisällytetään automaattisesti, kuten alla olevassa kuvassa näkyy:







Edellinen:Windows CMD View Historical Command History -opas
Seuraava:Meet Azure DevOps
 Vuokraisäntä| Julkaistu 25.9.2019 klo 18:09:46 |
Julkaistu 2019-11-10 klo 15:06:37 |
Etkö kirjoittanut taustahoitosuunnitelmaa? Taustaprosessointi otsikon sisällä eroaa taustakäsittelystä ilman otsikkoa
 Vuokraisäntä| Julkaistu 2019-11-21 10:38:40 |
Danqingcheng julkaisi 2019-11-10 klo 15:06
Etkö kirjoittanut taustahoitosuunnitelmaa? Taustaprosessointi otsikon sisällä eroaa taustakäsittelystä ilman otsikkoa

Hmm, minun täytyy kirjoittaa suodatin uudelleen
 Vuokraisäntä| Julkaistu 2021-2-20 klo 19:22:14 |
mvc ajax AntiForgeryTokenilla CSRF-hyökkäysten estämiseksi
https://www.itsvse.com/thread-4207-1-1.html
Julkaistu 2021-12-9 18:41:29 |
testtesttesttesttesttesttest testitesti
 Vuokraisäntä| Julkaistu 2022-4-17 klo 12:59:39 |
 Vuokraisäntä| Julkaistu 2024-9-26 15:57:52 |
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com