können wir entführen CSRF-token durch einen ajax-request
Meine Frage ist über csrf-Token, das Ziel dieser Token und können wir fake it ..
Problem Identität
nehmen wir an, wir haben bank.com mit dieser url um eine trasaction auf ein Konto bank.com/ machen -Transaktionen?Betrag=100USD&um=[accountId] diese Verknüpfung wird nur zugegriffen werden, die von authentifizierten Benutzern (abhängig von der SessionID in cookies) von einer Seite, die Transaktion in form bank.com Website
Das problem kommt, wenn einer malicious.com setzen Sie ein fake-Formular mit hidden-Felder für das senden von Daten zu der oben genannten url. Verursacht die SessionID in cookies (bezogen auf bank.com) gesendet werden, indem Sie diese Vorlage und die trasaction getan werden
Der CSRF-Lösung
Diese Lösung hängt generieren token (CSRF token), die senden mit den bank.com Seite von making-Transaktion (im hidden Feld ) und speichern Sie in der aktuellen Benutzer-Sitzung
Und nach dem user-submite Daten aus der Transaktion Seite, dieses token (die vorlegen, die mit den Daten), werden überprüft gegen die CSRF-token-Wert in der Benutzer-session und, wenn Sie gleich sind dann ist die Transaktion gültig ist und wenn nicht, dass bedeutet, dass es etwas falsch, und die Transaktion abgelehnt werden sollte
Und damit verhindert es die malicious.com aus Ihren Transaktionen durch Einreichen gefälschter Anfragen .Da es keine Möglichkeit hat, diese zu bekommen CSRF-token und Spritzen Sie es mit der Anfrage.
Meine Fragen
1 - was ist, wenn die malicious.com macht ajax-Anfrage vom Benutzer-browser, um bank.com (diese Anfrage senden bank.com Verwandte cookies. bin ich richtig ?) und wird es extrahieren Sie die CSRF-token von der Antwort. und Spritzen, die token in fake-form. Wird diese gefälschte die bank.com mit diesem entführt token?
2 - kann ich generieren CSRF-token von ajax Endpunkt im single-page-Anwendung (sagen wir vor der Aktion. Fragen Sie den server für ein CSRF-token und legt dieses token mit der Aktion ) oder nicht (wenn ich kann, was ich beachten sollte ) ?
Vielen Dank für Ihre Zeit mit meinen besten GRÜßEN