Diese Art von Angriff ist ziemlich schädlich, da ein Benutzer, der getäuscht wurde, mithilfe seiner Authentifizierung Daten in unsere Datenbank eingeben kann. Stellen Sie sich vor, dass bei einem Angriff dieser Art ein Administrator oder möglicherweise eine falsche Nachricht eingegeben werden kann in unserem Newsbereich.
Wie funktioniert die CSRF?
Wie wir erklärt haben, täuscht dieser Angriff unsere Anwendung vor, Daten zu empfangen, die nicht von sich selbst stammen, da er die Funktionsweise von Protokollen als HTTP und die verschiedenen Methoden ausnutzt, mit denen ein Angreifer eine Form erstellen und auf unsere verweisen kann Controller .
Schauen wir uns zur Veranschaulichung dieses Angriffs den folgenden Controller an, der für diese Art von Angriff anfällig ist:
Hier können wir sehen, wie wir die Daten direkt aus unserem Formular erhalten und dies ist nicht schlecht. Das einzige Problem besteht darin, dass wir unserer Anwendung nicht mitteilen, dass sie den Ursprung davon überprüfen muss. Mit diesem kann ein Angreifer ein Skript wie das folgende generieren:
Hier wird klar, was passiert, wenn beim Laden dieser Seite das Formular gesendet wird, das auf einen bestimmten Datensatz der Datenbank verweist, dieses Formular auf einen gültigen Treiber, wenn also ein authentifizierter Benutzer auf diese Seite verwiesen wird Wir sind wahrscheinlich in Schwierigkeiten.
Wie vermeide ich diesen Angriff?
Trotz der fatalistischen Erscheinung ist dieser Angriff vermeidbar, da wir nur einige Überprüfungen durchführen müssen, die sicherstellen, dass die erhaltenen Daten aus unserer Anwendung stammen. Dafür können wir einige der folgenden Techniken anwenden:
Im Fall des generierten Tokens enthält ASP.NET MVC einige Methoden, die uns helfen können. Die wichtigste Methode ist @ Html.AntiForgeryToken () , mit der der geheime Schlüssel generiert wird, mit dem unsere Anwendung die Formulare validieren kann.
Wir sehen dann, dass es mehr Bereiche gibt, als wir denken, und dass wir uns in unseren Anwendungen darum kümmern sollten. Deshalb müssen wir uns informieren und uns darüber im Klaren sein, wie Angriffe stattfinden, um Wege zu finden, diese zu vermeiden.