CSRF
CSRF (Cross-Site-Request-Forgery) ist eine Schwachstelle, bei der ein Angreifer einen angemeldeten Nutzer dazu verleitet, unwissentlich eine bösartige Anfrage an die Zielseite zu senden.
Zweck
Verhindern, dass Angreifer die Sitzung des Opfers missbrauchen, um unbefugte Operationen auszuführen.
Mechanismus
Der Angreifer hostet eine bösartige Seite mit <form> oder <img>, die eine Anfrage an die Zielseite sendet. Der Browser hängt Cookies automatisch an, und der Server hält sie fälschlich für den Nutzer. Abwehr: CSRF-Tokens (Synchronizer-Tokens), SameSite-Cookies, Prüfung der Origin/Referer-Header.
Anwendungsfälle
- Gefälschte Banküberweisungen
- Änderung von Kontoeinstellungen
- Veröffentlichen von Inhalten oder Kommentaren
- Datenlöschvorgänge
Beispiele
- Eingabe
<form action="bank.com/transfer" method="POST">OutputTransfer initiated riding on cookiesCross-site forgery
Häufige Fehler
- Relying solely on cookie authentication without a CSRF token
- Add a CSRF token or SameSite=Strict
Verwandte Begriffe
XSS
XSS (Cross-Site Scripting) ist der Angriff, bei dem ein Angreifer bösartige Skripte in eine Seite einschleust, die im Browser anderer Nutzer ausgeführt werden; es gibt gespeicherte, reflektierte und DOM-basierte Formen. GLOSSAR
Cookie
Ein Cookie ist ein vom Server gesetztes und vom Browser gespeichertes Schlüssel-Wert-Paar, das automatisch mit Same-Origin-Requests für Sitzungs- und Zustandsverwaltung gesendet wird. GLOSSAR
SameSite Cookie
Das SameSite-Cookie-Attribut (Strict/Lax/None) steuert, ob der Browser Cookies bei websiteübergreifenden Anfragen sendet, und dient der Abwehr von CSRF. GLOSSAR
SQL Injection
SQL-Injection bedeutet, dass Angreifer bösartige SQL-Fragmente in einen Abfragestring einfügen, sodass die Datenbank unerwünschte Befehle ausführt. GLOSSAR