Ich bin auf der Suche nach Implementierungen Schutzmaßnahmen gegen CSRF-Angriffe in meiner API, die ich mit GAE Endpoints mit oAuth2 für alle Methoden erforderlich entwickelt.CSRF auf GAE Endpoints mit oAuth
Vor dem Implementieren eines bestimmten Schutzes versuche ich, meine App zu brechen (CSRF sah auf den ersten Blick einfach aus). Aber es kann einfach nicht funktionieren.
Wenn ich meinen Endpunkt auf einer anderen Seite referenziere, fügt der Browser die Cookie-Informationen, aber nicht den Berechtigungsheader mit dem Bearer Access Token hinzu. Dies scheint nicht genug zu sein, weil meine Endpunkte 401 automatisch mit einem www-authenticate:Bearer realm="https://accounts.google.com/"
Header zurückgeben.
Wie gesagt, ich habe keinen spezifischen Schutz gegen CSRF. Aber bietet die Verwendung von Google Cloud Endpoints mit oAuth2 unter HTTPS Schutz gegen diese Art von Angriff "kostenlos"?
- bearbeiten Adresse Kommentar
ich einen einfachen CSRF-Angriff versucht. Ich habe eine Seite mit einem <img src="https://bla-bla-bla-appspot.com/_ah/api/myapi/v1/resource.getMethod">
bekommen. Dann habe ich auf diese Seite zugegriffen, während ich meine App in einem anderen Tab geöffnet hatte, sodass mein Browser meine Authentifizierungsinformationen senden würde. Und es sendet den Cookie, aber nicht mein oAuth-Token).
Ich habe nicht einmal versucht, eine POST, wenn ich ein GET "hack" es wäre schon toll.
Nicht sicher, ob Sie [diese] (http://stackoverflow.com/questions/16688489/cloud-endpoints-csrf-protection) und der Artikel gesehen, die in den Kommentaren verknüpft ist, aber es scheint (wenn ich richtig verstanden habe), dass mit OAuth2 CSRF kein Problem ist. Ich könnte falsch liegen, wenn Sie anderswo Antworten finden, teilen Sie bitte (; – Sasxa
Was konkret meinen Sie mit "Wenn ich meinen Endpunkt auf einer anderen Seite referenziere, fügt der Browser die Cookie-Informationen, aber nicht den Autorisierungs-Header mit dem Bearer-Zugriff hinzu Token "? Können Sie den Code anzeigen? – Nick