Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 45075|Antwort: 7

[ASP.NET] ASP.NET CSRF-Angriff Ajax-Kapselungsanforderung

[Link kopieren]
Veröffentlicht am 12.9.2019, 09:42:54 | | | |
Was ist CSRF?

CSRF (Cross-site Request Forgery), auch bekannt als One-Click Attack/Session Riding, chinesische Abkürzung: CSRF/XSRF. CSRF (Cross Site Request Forgery) ist eine Netzwerkangriffsmethode, die 2007 als eines der 20 größten Sicherheitsrisiken im Internet gelistet wurde. Weitere Sicherheitsrisiken, wie SQL-Skript-Injection und Cross-Site-Domain-Script-Angriffe, sind in den letzten Jahren bekannt geworden, und viele Websites haben sich dagegen verteidigt. CSRF ist jedoch für die meisten Menschen immer noch ein fremdes Konzept. Sogar das bekannteste Gmail hatte Ende 2007 eine CSRF-Schwachstelle, die gehackt wurde und den Gmail-Nutzern enorme Verluste zufügte.

Was kann CSRF tun?

Sie können CSRF-Angriffe so verstehen: Ein Angreifer hat Ihre Identität gestohlen und bösartige Anfragen in Ihrem Namen gesendet. CSRF kann Dinge wie E-Mails senden, Nachrichten senden, Ihr Konto stehlen oder sogar Waren kaufen und virtuelle Währung in Ihrem Namen überweisen...... Zu den verursachten Problemen gehören: persönliche Privatsphäre und Sicherheit von Eigentum.

ASP.NET MVC AntiForgeryToken-Anti-Fälschungsmarke

In ASP.NET MVC werden Formular- und Cookie-Tokens standardmäßig automatisch generiert, wann immer @Html.AntiForgeryToken() auf der Ansichtsseite verwendet wird. Wenn wir jedoch manuelle Abrufe im Hintergrund erreichen wollen, müssen wir die System.Web.Helpers.AntiForgery-Klasse verwenden, und Freunde, die den Quellcode ansehen möchten, werden feststellen, dass die interne Methode des internen Aufrufs von @Html.AntiForgeryToken() tatsächlich dieselbe ist wie die der AntiForgery-Klasse.

Es wird hauptsächlich verwendet, um das entsprechende Formular und das Cookie-Token über zwei statische Methoden zu erhalten: AntiForgery.GetHtml() oder AntiForgery.GetTokens(string oldCookieToken, out string newCookieToken, out string formToken). Es sollte jedoch beachtet werden, dass, sobald die GetHtml-Methode aufgerufen wird, das entsprechende Cookie-Token automatisch generiert wird und dann ein Stück HTML-Code mit dem versteckten Feld des Formular-Token-Werts direkt zurückgegeben wird, der zurückgegebene Wert in folgender Form ist:

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

Der Name des versteckten Feldes ist in der Regel auf "__RequestVerificationToken" fixiert, und der Wert ist ein verschlüsselter Sicherheitstoken. Dieses versteckte Feld wird in der Regel im einzureichenden Formular eingefügt, und die endgültige Einreichung wird anhand des Cookie-Tokens überprüft.

Wenn Sie die GetTokens-Methode verwenden, können Sie das verschlüsselte Formular und das Cookie-Token nach der Weitergabe der entsprechenden Parameter erhalten, aber hier müssen Sie die entsprechenden Werte selbst speichern.

Als Nächstes stellen wir die Methode vor, AntiForgeryToken manuell zu aktualisieren, hauptsächlich über AJAX.

Paketcode:



Testcode:



Wir stellten fest, dass beim Senden einer Ajax-Anfrage __RequestVerificationToken Parameter automatisch enthalten sind, wie in der untenstehenden Abbildung gezeigt:







Vorhergehend:Windows CMD View Historical Command History Tutorial
Nächster:Lernen Sie Azure DevOps kennen
 Vermieter| Veröffentlicht am 25.9.2019, 18:09:46 |
Veröffentlicht am 10.11.2019, 15:06:37 |
Hast du nicht einen Hintergrundbehandlungsplan geschrieben? Die Hintergrundverarbeitung im Header unterscheidet sich von der Hintergrundverarbeitung ohne Header
 Vermieter| Veröffentlicht am 21.11.2019, 10:38:40 |
Danqingcheng veröffentlicht am 10.11.2019 um 15:06 Uhr
Hast du nicht einen Hintergrundbehandlungsplan geschrieben? Die Hintergrundverarbeitung im Header unterscheidet sich von der Hintergrundverarbeitung ohne Header

Hmm, ich muss den Filter neu schreiben
 Vermieter| Veröffentlicht am 20.2.2021, 19:22:14 |
mvc ajax mit AntiForgeryToken zu verhindern, um CSRF-Angriffe zu verhindern
https://www.itsvse.com/thread-4207-1-1.html
Veröffentlicht am 9.12.2021, 18:41:29 |
testtesttesttesttesttesttest
 Vermieter| Veröffentlicht am 17.04.2022, 12:59:39 |
 Vermieter| Veröffentlicht am 26.9.2024, 15:57:52 |
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com