Cross-Site Request Forgery (CSRF)
Ihr Sitzungscookie wird mitgesendet – auch bei einer Anfrage, die Sie nie selbst ausgelöst haben.
Was ist Cross-Site Request Forgery (CSRF)?
Browser hängen das Sitzungscookie einer Website an Anfragen an, die von anderen Websites ausgelöst werden, es sei denn, die SameSite-Einstellung des Cookies unterbindet das. In genau dieser Lücke entsteht CSRF. Sie erstellen eine Gutscheinseite, deren verstecktes Formular automatisch eine Überweisung aus dem Portal auslöst, bei dem das Opfer in einem anderen Tab angemeldet ist. Nach der Betrugswarnung erkennen Sie die fremde Herkunft am Origin -Header und schützen den Handler mit einem sitzungsspezifischen Token und SameSite=Strict . Das Token wirkt, weil der Angreifer zwar eine Cross-Site-Anfrage senden, die Antwort mit dem Token aber nicht lesen kann.
Was Sie lernen in Cross-Site Request Forgery (CSRF)
- Erkennen, wie ein Sitzungscookie, das der Browser bei Cross-Site-Anfragen mitsendet, und die ausschließliche Cookie-Authentifizierung bei zustandsändernden Aktionen CSRF ermöglichen
- Sitzungsspezifische CSRF-Token bei jedem POST-, PUT- und DELETE-Handler prüfen, der den Anwendungszustand ändert
- Die Token-Prüfung mit <code>SameSite=Strict</code> für das Sitzungscookie kombinieren, damit der Browser es nicht an Cross-Site-Anfragen anhängt und eine weitere Schutzebene entsteht
- Verstehen, warum CSRF-Token dank der Same-Origin-Richtlinie wirken: Angreifer können Cross-Site-Anfragen SENDEN, die Antworten mit dem Token aber nicht LESEN
- Alle Endpunkte für zustandsändernde Aktionen auf dieses Muster prüfen, etwa Rollenzuweisungen, Kontoänderungen, Passwortwechsel ohne aktuelles Passwort, Speichern von Einstellungen und Überweisungen
Cross-Site Request Forgery (CSRF) — Trainingsschritte
-
Eine routinemäßige Überweisung
Westmark Industrial betreibt ein internes Beschaffungsportal zur Autorisierung von Lieferantenzahlungen. Alice muss heute Morgen eine kleine Überweisung vornehmen: 247,50 $ an Hartwell Logistics für eine Routinelieferung. Im Hintergrund authentifiziert das Portal jede Anfrage anhand von Alices Sitzungscookie. Melden Sie sich an und sehen Sie, wie eine normale Überweisung funktioniert.
-
Anmeldung beim Portal
Dies ist das Portal, das Alice verwendet, um Lieferantenzahlungen zu autorisieren. Ihre Sitzung bleibt für den Rest des Tages in dieser Registerkarte aktiv.
-
Die Überweisung autorisieren
Senden Sie 247,50 $ an Hartwell Logistics (im Formular: 247.50). Das Formular sendet Betrag und Empfänger im Anfragetext an den Überweisungsendpunkt. Alices Sitzungscookie wird automatisch mitgesendet: Das ist das Einzige, was beweist, dass die Anfrage von ihr stammt.
-
Im Buchungsjournal erfasst
Die Überweisung erscheint unter den letzten Aktivitäten. Das Cookie war gültig, der Anfragetext korrekt aufgebaut, und das Portal gab sie frei. Beachten Sie, was nicht nötig war: kein geheimer Wert im Anfragetext und nichts, was nur das echte Formular hätte liefern können. Das Sitzungscookie allein genügte als Nachweis.
-
Die Anfrage, die Bob nicht selbst senden kann
Bob hat keinen Zugriff auf die Konten von Westmark Industrial. Aber er weiß, dass der Überweisungsendpunkt alles autorisiert, was der Browser eines angemeldeten Mitarbeiters sendet, und er weiß, dass Mitarbeiter den ganzen Tag angemeldet bleiben. Er kann die Anfrage nicht selbst senden: Sie zählt nur, wenn sie vom authentifizierten Browser eines Mitarbeiters kommt. Also erstellt er eine Seite, die sie für ihn sendet. Diese fröhliche Gutscheinseite ist alles, was ein Besucher jemals sieht.
-
Unter der Kaffeeseite
Die Kaffeeseite ist ein Köder. Öffnen Sie ihren Quelltext und sehen Sie, was wirklich unter der freundlichen Überschrift steht.
-
In der Falle
Unter der freundlichen Überschrift steckt die eigentliche Payload. Gehen Sie sie Schritt für Schritt durch: Ein verstecktes Formular sendet beim Laden der Seite Bobs Angaben an den echten Überweisungsendpunkt von Westmark Industrial, nicht die des Besuchers.
-
Den Köder an Alice schicken
Die Seite ist scharfgeschaltet. Nun setzt Bob den Link in eine freundliche Gutschein-E-Mail, schickt sie an Alices Arbeitsadresse und wartet darauf, dass sie die Seite bei noch aktiver Portalsitzung öffnet.
-
Eine Gratis-Kaffee-E-Mail
Später am Abend, nach Feierabend, erhält Alice eine fröhliche E-Mail: ein kostenloser Kaffee, mit nur einem Klick zu sichern. Nichts verlangt nach einem Passwort. Ihr Portal-Tab von heute Morgen ist im Hintergrund noch geöffnet.
-
Genauer hinschauen
In der E-Mail wird weder nach Zugangsdaten gefragt noch ein Download verlangt. Sie enthält nur einen Link zu einer Gutscheinseite – die Art von Nachricht, die viele Menschen überfliegen und anklicken.
Abdeckung der Sicherheits-Frameworks
OWASP Top 10
- A01:2025 Broken Access Control
- A01:2021 Broken Access Control
CWE
- CWE-352 Cross-Site Request Forgery (CSRF)
- CWE-1275 Sensitive Cookie with Improper SameSite Attribute
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security