Cross-Site Request Forgery (CSRF)
Ihr Sitzungscookie bleibt bestehen, auch bei einer Anfrage, die Sie nie gestellt haben.
Was ist Cross-Site Request Forgery (CSRF)?
Browser hängen das Sitzungscookie einer Site an Anfragen an, die von einem beliebigen Ursprung gesendet werden, und die Fälschung von Cross-Site-Anfragen findet in dieser Standardeinstellung statt. Sie erstellen eine Couponseite, deren verstecktes Formular sich selbst einreicht und Geld von einem Portal überweist, bei dem das Opfer in einem anderen Tab angemeldet ist. Dann nehmen Sie die Betrugswarnung entgegen, erkennen den verschenkten Origin -Header und reparieren den Handler mit einem sitzungsspezifischen Token plus SameSite=Strict . Das Token funktioniert, weil ein Angreifer eine standortübergreifende Anfrage senden, die Antwort jedoch nie lesen kann.
Was Sie lernen in Cross-Site Request Forgery (CSRF)
- Erkennen Sie CSRF als Konsequenz der Browser-Standard-Cookie-Anfügung plus Session-Cookie-Authentifizierung auf Endpunkten, die den Status ändern
- Wenden Sie die CSRF-Token-Validierung pro Sitzung auf jeden POST/PUT/DELETE-Handler an, der den Status ändert
- Koppeln Sie die Token-Prüfung mit <code>SameSite=Strict</code> für das Session-Cookie, damit der Browser das Cookie nicht einmal an standortübergreifende Anfragen anhängt. Das bietet zusätzlichen Schutz auf Cookie-Ebene
- Beachten Sie, dass die Same-Origin-Richtlinie dafür sorgt, dass CSRF-Tokens funktionieren: Angreifer können standortübergreifende Anfragen SENDEN, aber keine Antworten LESEN, um das Token zu extrahieren
- Prüfen Sie jeden Endpunkt, der den Status ändert (Rollenzuweisungen, Kontoaktualisierungen, Passwortänderung ohne aktuelles Passwort, Speicherungen von Einstellungen, Ausführung von Überweisungen) auf dasselbe Muster
Cross-Site Request Forgery (CSRF) — Trainingsschritte
-
Ein Routinetransfer
Westmark Industrial runs an internal procurement portal to authorise vendor payments. Alice has one small transfer to send this morning: $247.50 to Hartwell Logistics for a routine delivery. Behind the scenes the portal authenticates every request with her session cookie. Log in and see how a normal transfer works.
-
Melden Sie sich beim Portal an
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
Send $247.50 to Hartwell Logistics. The form posts to the transfer endpoint with the amount and recipient in the request body. Alice's session cookie rides along automatically: that is the only thing that proves the request is hers.
-
Im Buchungsjournal erfasst
Der Transfer landet in der aktuellen Aktivität. Das Cookie war gültig, der Textkörper war wohlgeformt und das Portal autorisierte es. Beachten Sie, was es nicht erforderte: kein Geheimnis im Körper, nichts, was nur die wahre Form bieten könnte. Der Session-Cookie allein war Beweis genug.
-
Die Anfrage kann er nicht senden
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 Lockvogel. Öffnen Sie die Quelle und sehen Sie, was wirklich unter der freundlichen Überschrift steht.
-
In der Falle
Unter der freundlichen Überschrift verbirgt sich die eigentliche Nutzlast. Gehen Sie sie durch: ein verstecktes Formular, das in dem Moment, in dem die Seite geladen wird, an den echten Überweisungsendpunkt von Westmark Industrial sendet und Bobs Zahlen enthält, nicht die des Besuchers.
-
Schicken Sie den Köder an Alice
Die Seite ist scharfgeschaltet. Jetzt verpackt Bob es in eine fröhliche Coupon-E-Mail, sendet es an Alices Arbeitsadresse und wartet dann darauf, dass sie es öffnet, während ihre Portalsitzung noch aktiv ist.
-
Eine Gratis-Kaffee-E-Mail
Später am Abend, nach Feierabend, erhält Alice eine fröhliche E-Mail: einen kostenlosen Kaffee, nur einen Klick entfernt. Nichts verlangt nach einem Passwort. Ihr Portal-Tab von heute Morgen ist im Hintergrund noch geöffnet.
-
Schauen Sie genauer hin
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