Pelo que aprendi até agora, o objetivo dos tokens é impedir que um invasor forje um envio de formulário.
Por exemplo, se um site tiver um formulário que insira itens adicionados ao seu carrinho de compras, e um invasor poderá enviar spam ao seu carrinho de compras com itens que você não deseja.
Isso faz sentido, pois pode haver várias entradas válidas para o formulário do carrinho de compras, tudo o que o invasor precisa fazer é conhecer um item que o site está vendendo.
Entendo como os tokens funcionam e adiciono segurança neste caso, porque eles garantem que o usuário realmente preencheu e pressionou o botão "Enviar" do formulário para cada item adicionado ao carrinho.
No entanto, os tokens adicionam segurança a um formulário de login do usuário, o que requer um nome de usuário e senha?
Como o nome de usuário e a senha são muito exclusivos, o invasor precisará conhecer ambos para que a falsificação de login funcione (mesmo que você não tenha a configuração de tokens) e, se um invasor já souber disso, poderá acessar o site. ele mesmo. Sem mencionar, um ataque de CSRF que faça o usuário se autenticar não teria nenhum propósito prático de qualquer maneira.
Meu entendimento dos ataques e tokens de CSRF está correto? E eles são inúteis para os formulários de login do usuário, como suspeito?