207 votes

Formes de connexion dois-je jetons contre les attaques CSRF ?

De ce que j'ai appris jusqu'à présent, le but de jetons est d'empêcher un attaquant de forger la soumission d'un formulaire.

Par exemple, si un site web a un formulaire de saisie des éléments ajoutés à votre panier, et un attaquant pourrait spam de votre panier avec des articles que vous ne souhaitez pas.

Cela a un sens, car il pourrait y avoir plusieurs entrées valides pour le panier, l'attaquant avez à faire est de connaître un élément que le site est à vendre.

Je comprends comment les jetons de travail et d'ajouter de la sécurité dans ce cas, parce qu'ils s'assurer que l'utilisateur a effectivement rempli et appuyé sur le bouton "envoyer" du formulaire pour chaque élément ajouté au panier.

Cependant, ne jetons ajouter toute sécurité à un utilisateur formulaire de connexion, ce qui nécessite un nom d'utilisateur et le mot de passe?

Depuis le nom d'utilisateur et mot de passe sont très unique, l'attaquant devrait connaître à la fois dans l'ordre de la connexion à la falsification de travail (même si vous n'avez pas de jetons de l'installation), et si un attaquant savais déjà qu'il pouvait il suffit de s'inscrire sur le site web lui-même. Pour ne pas mentionner, une attaque CSRF qui rend l'utilisateur de se connecter lui-même de ne pas avoir aucun effet pratique de toute façon.

Est ma compréhension des attaques CSRF et jetons-elle correcte? Et sont-ils inutiles pour la connexion de l'utilisateur formes comme je pense?

162voto

natevw Points 3543

Oui. En général, vous devez sécuriser votre connexion formes d'attaques CSRF, comme n'importe quel autre.

Sinon votre site est vulnérable à une sorte de "domaine de confiance phishing" attaque. En bref, une CSRF vulnérables à la page de connexion permet à un attaquant de partager un compte d'utilisateur avec la victime.

La vulnérabilité joue comme ceci:

  1. L'attaquant crée un compte d'hôte du domaine de confiance
  2. L'attaquant forges une demande de connexion dans le navigateur de la victime avec cette armée informations d'identification du compte
  3. L'attaquant de tours de la victime en utilisant le site de confiance, où ils peuvent ne pas remarquer qu'ils sont connectés via le compte de l'hôte
  4. L'attaquant a désormais accès à des données ou des métadonnées de la victime "créé" (intentionnellement ou non) alors que leur navigateur est connecté avec le compte de l'hôte

Comme un exemple pertinent, envisager de YouTube. YouTube permet aux utilisateurs de voir l'historique de ses "propres" visualisation de l'historique, et leur formulaire de connexion a été CSRF-vulnérable! Par conséquent, un attaquant pourrait mettre en place un compte avec un mot de passe qu'ils savaient, journal de la victime dans YouTube à l'aide que compte - harcèlement quelles sont les vidéos de la victime a regarder.

Il est parfois question dans ce fil de commentaires qui implique qu'elle peut "seulement" être utilisés pour des violations de la vie privée comme ça. Peut-être, mais à la citation de l'article de Wikipédia en CSRF article:

Connexion CSRF fait divers roman attaques possibles; par exemple, un l'attaquant peut ensuite se connecter sur le site avec sa légitime informations d'identification et de visualiser des informations personnelles comme l'historique de l'activité qui a été enregistré dans le compte.

L'accent sur le "roman" d'attaques". Imaginez l'impact d'une attaque de phishing contre vos utilisateurs, puis imaginez que dit attaque de phishing de travail par l'utilisateur de confiance signet à votre site! Le document lié dans le fil de commentaires donne plusieurs exemples qui vont au-delà de la simple vie privée des attaques.

7voto

Jon Points 194296

Votre compréhension est correcte -- le point de l'ensemble de CSRF est que l'attaquant de forger une allure légitime demande de d'avance. Mais cela ne peut être fait avec un formulaire de connexion, à moins que l'attaquant connaît la victime du nom d'utilisateur et le mot de passe, auquel cas il y a des manières plus efficaces d'attaque (connectez-vous).

En fin de compte la seule chose que l'attaquant peut faire est de désagréments à vos utilisateurs de par le spamming sur les connexions échouées, lorsque le système de sécurité peut verrouiller l'utilisateur pour une période de temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X