Ich habe im Web mehrere pauschale Anweisungen gesehen, die besagen, dass Sie keinen CSRF-Schutz für GET-Anforderungen benötigen.
Aber viele Webanwendungen haben GET-Anforderungen, die vertrauliche Daten zurückgeben, oder? Möchten Sie diese dann nicht vor CSRF-Angriffen schützen?
Vermisse ich etwas oder gehen diese pauschalen Aussagen davon aus, dass die von der GET-Anforderung angegebenen Daten unwichtig sind?
Beispiele für Umfassende Empfehlungen für die Verwendung von CSRF-Token mit GET:
- https://security.stackexchange.com/a/90027/5997
Wenn also Eine Website hat den Standard beibehalten und implementiert nur "unsichere" Aktionen als POSTs. Hier sind nur POST-Anforderungen anfällig.
-
http://www.django-rest-framework.org/topics/ajax-csrf-cors/
- Stellen Sie sicher, dass die "sicheren" HTTP-Vorgänge wie GET, HEAD und OPTIONS nicht zum Ändern eines serverseitigen Status verwendet werden können. ol>
Hier wird davon ausgegangen, dass es sich nicht lohnt, den Status zu schützen, wenn GET ihn nicht ändert.
-
http://sakurity.com/blog/2015/03 /04/hybrid_api_auth.html enthält eine Codezeile, die diesen Ansatz vorschlägt:
# 1) Überprüfen Sie das CSRF-Token für alle Nicht-GET-Anforderungen