2016-06-08 24 views
1

Wir haben einen tokenbasierten OAuth-Authentifizierungsmechanismus für unsere angularjs-Anwendung. Das acunetix-Tool zeigte an, dass eine XSRF-Bedrohung vorhanden ist.CSRF in tokenbasierter Authentifizierung

Ist CSRF ein Problem für Token-basierte Authentifizierung (Weil wir keine Cookies für Benutzeridentifikation/Authentifizierung/Sitzungen verwenden)?

Wenn CSRF ein Problem für Token-basierte Authentifizierung ist, gibt es eine Möglichkeit, Prävention ohne Verwendung von Cookies zu implementieren?

Antwort

3

Soweit ich weiß, Token-basierte Authentifizierung ist in keiner Weise von CSRF betroffen. Z.B. Wenn Sie Cookies verwenden, und schlechte Leute locken Benutzer in ihre Website, wo sie eine spezielle Schaltfläche erstellen können, die einen Beitrag zu Ihrer Website tun -> hier ist CSRF, wo Sie einige Anfragen im Namen der Benutzer ausführen können.

Wenn Sie nun Token verwenden, die in Sitzung/lokalem Speicher gespeichert sind, werden sie z. B. nie automatisch mit der Anforderung übergeben. Sie verwenden wahrscheinlich etwas eckigen Abfangjäger oder ähnliche Technologie, um es mit jeder XHR-Anfrage zu übergeben. Dies geschieht nie automatisch.

Sie können ein bisschen mehr auf Token Auth in this sehr guten Beitrag lesen. In Nummer 6 gibt es einen kleinen Abschnitt über XSRF/CSRF, XSS.

In meiner bescheidenen Erfahrung können diese großen Sicherheitswerkzeuge Ihnen oft etwas sagen, das nicht wahr ist, nur um sich selbst "signifikanter" zu machen. Aber es wäre interessant, genau zu wissen, wie CSRF durchgeführt werden soll und was genau es für möglich gehalten hat? Z.B. hast du vielleicht einen Keks, den du verpasst hast?

P.S. XSS-Angriff (um Token zu stehlen) wird mit Token mehr möglich, da Sie HTTP-nur wie für Cookies setzen können. So kann jedes erfolgreiche XSS Ihren Token lesen, also müssen Sie sicherstellen, dass Sie einen guten Schutz dagegen haben. Aber normalerweise wird es von Frameworks gut abgedeckt.