Da quello che ho imparato finora, lo scopo dei token è impedire a un utente malintenzionato di creare un modulo.
Ad esempio, se un sito Web avesse un modulo che immetteva articoli aggiunti al carrello e un utente malintenzionato potrebbe inviare spam al carrello con articoli che non desideri.
Questo ha senso perché potrebbero esserci più input validi per il modulo del carrello, tutto ciò che l'attaccante dovrebbe fare è conoscere un oggetto che il sito Web sta vendendo.
Capisco come funzionano i token e aggiungo sicurezza in questo caso, perché assicurano che l'utente abbia effettivamente compilato e premuto il pulsante "Invia" del modulo per ogni articolo aggiunto al carrello.
Tuttavia, i token aggiungono sicurezza al modulo di accesso dell'utente, che richiede un nome utente e una password?
Poiché il nome utente e la password sono molto singolari, l'aggressore dovrebbe conoscerli entrambi affinché la falsificazione dell'accesso funzioni (anche se non hai impostato i token) e se un attaccante lo sapesse già, potrebbe semplicemente accedere al sito Web lui stesso. Per non parlare del fatto che un attacco CSRF che fa in modo che l'utente esegua l'accesso non avrebbe comunque alcuno scopo pratico.
La mia comprensione degli attacchi e dei token CSRF è corretta? E sono inutili per i moduli di accesso degli utenti come sospetto?