Wie verhindert die Verwendung des Synchronizer-Token-Musters, dass CSRF sicher ist?

Ich habe darüber nachgelesen, ein Synchronizer-Token-Muster zu verwenden, um CSRF (CSRF = Cross-Site Request Forgery) zu verhindern, und verstehe nicht, wie es tatsächlich sicher ist.

Nehmen wir an, ich habe eine gefälschte Bankseite fakebank.com mit zwei URLs:

fakebank.com/withdrawForm.html - eine GET-Anfrage, die das Abhebungsformular anzeigtfakebank.com/doWithdraw - POST auf diese URL, um die Auszahlung vorzunehmen

Mein Verständnis der Sicherheitslücke ist dasmaliciousSite.com kann eine POST-Anfrage an fälschenfakebank.com/doWithdraw, und wenn Sie gerade bei fakebank angemeldet sind, ist der POST erfolgreich.

Angenommen, wir implementieren ein Synchronizer-Token-Muster, in das ein Geheimcode eingebettet wirdfakebank.com/withdrawForm.html. KippenmaliciousSite.com Man muss nur eine GET-Anfrage für dieses Formular fälschen, das HTML-Ergebnis analysieren, das Token abrufen und dann die POST-Anfrage mit diesem Token erstellen.

Dies setzt voraus, dass fakebank.com den HTTP Referrer oder Origin oder nicht überprüftmaliciousSite.com fälscht erfolgreich, dass der Referrer / Origin fakebank.com ist.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage