Como está a utilização do Padrão de Token do Sincronizador para evitar a segurança do CSRF?
Eu tenho lido sobre o uso de um padrão de token sincronizador para evitar CSRF (CSRF que significa falsificação de solicitação entre sites) e não entendo como é realmente seguro.
Digamos que eu tenha um site fakebank.com com dois URLs:
fakebank.com/withdrawForm.html
- uma solicitação GET que exibe o formulário de retirada de dinheirofakebank.com/doWithdraw
- POST para este url para fazer a retiradaMeu entendimento da falha de segurança é quemaliciousSite.com
pode falsificar uma solicitação POST parafakebank.com/doWithdraw
, e se você estiver logado no fakebank, o POST será bem-sucedido.
Digamos que implementemos um Padrão de Token de Sincronizador que irá incorporar um código secretofakebank.com/withdrawForm.html
. Não podemaliciousSite.com
apenas falsifique uma solicitação GET para esse formulário, analise o resultado html, obtenha o token e crie a solicitação POST com esse token?
Isso supõe que o fakebank.com não esteja verificando HTTP Referrer or Origin oumaliciousSite.com
está falsificando com sucesso que o referenciador / origem é fakebank.com.