Test de l'authentification interrompue

Lorsque les fonctions d'authentification liées à l'application ne sont pas correctement implémentées, cela permet aux pirates de compromettre les mots de passe ou les identifiants de session ou d'exploiter d'autres failles d'implémentation en utilisant les informations d'identification d'autres utilisateurs.

Comprenons les agents de menace, les vecteurs d'attaque, la faiblesse de la sécurité, l'impact technique et les impacts commerciaux de cette faille à l'aide d'un diagramme simple.

Exemple

An e-commerce application supports URL rewriting, putting session IDs in the URL −

http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop

Un utilisateur authentifié du site transmet l'URL à ses amis pour connaître les ventes à prix réduit. Il envoie par e-mail le lien ci-dessus sans savoir que l'utilisateur donne également les identifiants de session. Lorsque ses amis utilisent le lien, ils utilisent sa session et sa carte de crédit.

Mains allumées

Step 1- Connectez-vous à Webgoat et accédez à la section «Défauts de gestion de session». Contournons l'authentification en usurpant le cookie. Voici un aperçu du scénario.

Step 2 - Lorsque nous nous connectons en utilisant les identifiants webgoat / webgoat, nous trouvons de Burp Suite que l'ID JSESSION est C8F3177CCAFF380441ABF71090748F2E tandis que AuthCookie = 65432ubphcfx lors d'une authentification réussie.

Step 3 - Lorsque nous nous connectons en utilisant l'aspect / l'aspect des informations d'identification, nous trouvons de Burp Suite que l'ID JSESSION est C8F3177CCAFF380441ABF71090748F2E tandis que l'AuthCookie = 65432udfqtb lors de l'authentification réussie.

Step 4- Nous devons maintenant analyser les modèles AuthCookie. La première moitié «65432» est commune aux deux authentifications. Par conséquent, nous sommes maintenant intéressés par l'analyse de la dernière partie des valeurs d'authcookie telles que - ubphcfx pour l'utilisateur webgoat et udfqtb pour l'utilisateur d'aspect respectivement.

Step 5- Si nous examinons en profondeur les valeurs d'AuthCookie, la dernière partie a la même longueur que celle du nom d'utilisateur. Il est donc évident que le nom d'utilisateur est utilisé avec une méthode de cryptage. Après des essais et des erreurs / mécanismes de force brute, nous constatons qu'après avoir inversé le nom d'utilisateur, webgoat; nous nous retrouvons avec taogbew, puis le caractère avant de l'alphabet est ce qui est utilisé comme AuthCookie. c'est-à-dire ubphcfx.

Step 6- Si nous transmettons cette valeur de cookie et voyons ce qui se passe. Lors de l'authentification en tant que webgoat utilisateur, modifiez la valeur AuthCookie pour se moquer de l'utilisateur Alice en recherchant l'AuthCookie pour le même en effectuant les étapes 4 et 5.

Mécanismes de prévention

  • Développer une authentification forte et des contrôles de gestion de session afin qu'il réponde à toutes les exigences d'authentification et de gestion de session définies dans la norme de vérification de la sécurité des applications de l'OWASP.

  • Les développeurs doivent s'assurer d'éviter les failles XSS qui peuvent être utilisées pour voler des identifiants de session.