hacktricks/pentesting-web/reset-password.md

11 KiB

Contournement de réinitialisation/mot de passe oublié

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Rejoignez le serveur HackenProof Discord pour communiquer avec des pirates expérimentés et des chasseurs de primes !

Perspectives de piratage
Engagez-vous avec du contenu qui explore le frisson et les défis du piratage

Actualités de piratage en temps réel
Restez à jour avec le monde du piratage en temps réel à travers des actualités et des perspectives

Dernières annonces
Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme

Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs pirates dès aujourd'hui !

Fuite de jeton de réinitialisation de mot de passe via le référent

  • L'en-tête HTTP referer peut divulguer le jeton de réinitialisation de mot de passe s'il est inclus dans l'URL. Cela peut se produire lorsqu'un utilisateur clique sur un lien de site Web tiers après avoir demandé une réinitialisation de mot de passe.
  • Impact : Perte potentielle de compte via des attaques de falsification de requête intersite (CSRF).
  • Références :

Empoisonnement de réinitialisation de mot de passe

  • Les attaquants peuvent manipuler l'en-tête Host lors des demandes de réinitialisation de mot de passe pour pointer le lien de réinitialisation vers un site malveillant.
  • Correctif : Utilisez $_SERVER['SERVER_NAME'] pour construire les URL de réinitialisation de mot de passe au lieu de $_SERVER['HTTP_HOST'].
  • Impact : Conduit à une perte potentielle de compte en divulguant des jetons de réinitialisation aux attaquants.
  • Étapes d'atténuation :
  • Valider l'en-tête Host par rapport à une liste blanche de domaines autorisés.
  • Utiliser des méthodes sécurisées côté serveur pour générer des URL absolues.
  • Références :

Réinitialisation de mot de passe en manipulant le paramètre d'email

  • Les attaquants peuvent manipuler la demande de réinitialisation de mot de passe en ajoutant des paramètres d'email supplémentaires pour détourner le lien de réinitialisation.
  • Étapes d'atténuation :
  • Analyser et valider correctement les paramètres d'email côté serveur.
  • Utiliser des instructions préparées ou des requêtes paramétrées pour prévenir les attaques par injection.
  • Références :

Changement d'email et de mot de passe de tout utilisateur via les paramètres API

  • Les attaquants peuvent modifier les paramètres d'email et de mot de passe dans les requêtes API pour changer les informations d'identification du compte.
  • Étapes d'atténuation :
  • Assurer une validation stricte des paramètres et des vérifications d'authentification.
  • Mettre en place une journalisation et une surveillance robustes pour détecter et répondre aux activités suspectes.
  • Référence :

Absence de limitation de taux : bombardement d'emails

  • Le manque de limitation de taux sur les demandes de réinitialisation de mot de passe peut entraîner un bombardement d'emails, submergeant l'utilisateur de courriels de réinitialisation.
  • Étapes d'atténuation :
  • Mettre en place une limitation de taux basée sur l'adresse IP ou le compte utilisateur.
  • Utiliser des défis CAPTCHA pour prévenir les abus automatisés.
  • Références :

Découvrez comment le jeton de réinitialisation de mot de passe est généré

  • Comprendre le motif ou la méthode derrière la génération de jetons peut permettre de prédire ou de forcer les jetons.
  • Étapes d'atténuation :
  • Utiliser des méthodes cryptographiques solides pour la génération de jetons.
  • Assurer une aléatoire suffisante et une longueur pour éviter la prévisibilité.
  • Outils : Utilisez Burp Sequencer pour analyser l'aléatoire des jetons.

GUID devinable

  • Si les GUID (par exemple, version 1) sont devinables ou prévisibles, les attaquants peuvent les forcer pour générer des jetons de réinitialisation valides.
  • Étapes d'atténuation :
  • Utiliser le GUID version 4 pour l'aléatoire ou mettre en place des mesures de sécurité supplémentaires pour les autres versions.
  • Outils : Utilisez guidtool pour analyser et générer des GUID.

Manipulation de réponse : Remplacer une mauvaise réponse par une bonne

  • Manipuler les réponses HTTP pour contourner les messages d'erreur ou les restrictions.
  • Étapes d'atténuation :
  • Mettre en place des vérifications côté serveur pour assurer l'intégrité des réponses.
  • Utiliser des canaux de communication sécurisés comme HTTPS pour prévenir les attaques de l'homme du milieu.
  • Référence :

Utilisation d'un jeton expiré

  • Tester si les jetons expirés peuvent toujours être utilisés pour la réinitialisation du mot de passe.
  • Étapes d'atténuation :
  • Mettre en place des politiques strictes d'expiration des jetons et valider l'expiration des jetons côté serveur.

Forcer le jeton de réinitialisation de mot de passe par force brute

  • Tenter de forcer le jeton de réinitialisation en utilisant des outils comme Burpsuite et IP-Rotator pour contourner les limites de taux basées sur l'IP.
  • Étapes d'atténuation :
  • Mettre en place des mécanismes robustes de limitation de taux et de verrouillage de compte.
  • Surveiller les activités suspectes indiquant des attaques par force brute.

Essayer d'utiliser votre jeton

  • Tester si le jeton de réinitialisation d'un attaquant peut être utilisé en conjonction avec l'email de la victime.
  • Étapes d'atténuation :
  • S'assurer que les jetons sont liés à la session utilisateur ou à d'autres attributs spécifiques à l'utilisateur.

Invalidation de session lors de la déconnexion/réinitialisation de mot de passe

  • S'assurer que les sessions sont invalidées lorsqu'un utilisateur se déconnecte ou réinitialise son mot de passe.
  • Étapes d'atténuation :
  • Mettre en place une gestion de session appropriée, en veillant à ce que toutes les sessions soient invalidées lors de la déconnexion ou de la réinitialisation du mot de passe.

Invalidation de session lors de la déconnexion/réinitialisation de mot de passe

  • Les jetons de réinitialisation doivent avoir une durée d'expiration après laquelle ils deviennent invalides.
  • Étapes d'atténuation :
  • Définir une durée d'expiration raisonnable pour les jetons de réinitialisation et les appliquer strictement côté serveur.

Références

Rejoignez le serveur HackenProof Discord pour communiquer avec des pirates expérimentés et des chasseurs de primes !

Perspectives de piratage
Engagez-vous avec du contenu qui explore le frisson et les défis du piratage

Actualités de piratage en temps réel
Restez à jour avec le monde du piratage en temps réel à travers des actualités et des perspectives

Dernières annonces
Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme

Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs pirates dès aujourd'hui !

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :