Z tego, czego się do tej pory dowiedziałem, celem tokenów jest zapobieganie sfałszowaniu przesłania formularza przez atakującego.
Na przykład, jeśli witryna internetowa miała formularz, który wprowadzał dodawane pozycje do koszyka, a osoba atakująca mogłaby spamować Twój koszyk artykułami, których nie chcesz.
Ma to sens, ponieważ może istnieć wiele prawidłowych danych wejściowych do formularza koszyka, a osoba atakująca musiałaby tylko poznać przedmiot, który sprzedaje witryna.
Rozumiem, jak działają tokeny i dodam bezpieczeństwo w tym przypadku, ponieważ zapewniają, że użytkownik faktycznie wypełnił i nacisnął przycisk „Prześlij” w formularzu dla każdej pozycji dodanej do koszyka.
Jednak czy tokeny zwiększają bezpieczeństwo formularza logowania użytkownika, który wymaga nazwy użytkownika i hasła?
Ponieważ nazwa użytkownika i hasło są bardzo unikalne, atakujący musiałby znać oba, aby fałszowanie loginu działało (nawet jeśli nie masz skonfigurowanych tokenów), a jeśli atakujący już to wiedział, mógłby po prostu zalogować się na stronie internetowej samego siebie. Nie wspominając o ataku CSRF, który zmusza użytkownika do zalogowania się, i tak nie miałby żadnego praktycznego celu.
Czy moje rozumienie ataków i tokenów CSRF jest prawidłowe? I czy są bezużyteczne dla formularzy logowania użytkowników, jak podejrzewam?