flawopen.com/CSRF/GET-Anfragen
CSRF-Token bei GET: Wann ist es nötig?
Ruft GET nur Daten ab, sollte der Serverzustand unverändert bleiben; normalerweise ist dann kein CSRF-Token nötig. Browser, Crawler, Vorschauen und eingebettete Ressourcen können GET ohne bewussten Klick auslösen. Verwende für Aktionen wie Löschen oder Kaufen eine unsichere Methode und schütze cookie-authentifizierte Änderungen vor CSRF. Ein alter GET-Endpunkt mit Zustandsänderung bleibt verwundbar und braucht während der Migration einen vorübergehenden Schutz.
Warum GET sicher bleiben muss
RFC 9110 definiert GET als sicher: Der Client fordert keine Zustandsänderung an. Sicher bedeutet nicht, dass der Server keine beiläufigen Effekte wie Protokollierung hat. GET ist außerdem idempotent, aber das ist eine andere Eigenschaft. Browser, Prefetching, Crawler und Link-Vorschauen können sichere Anfragen ohne bewusste Benutzeraktion senden. Ein fremdes <img src="..."> kann den Browser ebenfalls veranlassen, GET samt Benutzer-Cookies zu senden. Löscht oder ändert der Endpunkt Daten, verletzt er die GET-Semantik und normaler Seiteninhalt kann die Aktion auslösen.
CSRF-Schutz für zustandsändernde Anfragen einsetzen
- ✓GET, HEAD und OPTIONS dürfen keine angeforderte Zustandsänderung bewirken; für Mutationen POST, PUT, PATCH oder DELETE verwenden
- ✓Cookie-authentifizierte unsichere Methoden mit Framework-CSRF-Schutz oder validiertem Token schützen; SameSite und Origin-/Fetch-Metadata-Prüfungen ergänzen
- ✓Jeden zustandsändernden GET als Fehler der HTTP-Methodensemantik behandeln; vorübergehend CSRF-Schutz ergänzen, Aktion migrieren und Geheimnisse aus URLs entfernen
Häufige Fragen zu CSRF-Tokens bei GET
Behandle sie als verwundbar. Verlange vorübergehend serverseitig validierten CSRF-Schutz (zum Beispiel Synchronizer-Token plus Origin- oder Fetch-Metadata-Prüfung, sofern unterstützt), prüfe Caches und Referer und migriere die Aktion zu POST, PUT, PATCH oder DELETE. Vermeide Tokens in Query-Strings: URLs können im Verlauf, in Logs und in Referer-Daten auftauchen. Die Tokenprüfung ist nur eine Übergangslösung, bis der Endpunkt sichere Methodensemantik einhält.