> 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/bypassing-validation-by-connection-state.md).

# Contournement de la validation par état de connexion

### Contournement de la validation de l'hôte via une attaque sur l'état de connexion

**Description de la vulnérabilité**

Ce labo présente une **vulnérabilité de type SSRF basée sur le routage via l'en-tête Host** en-tête, liée à une mauvaise gestion de l'état de la connexion côté serveur.

Bien que le serveur frontal semble valider correctement l' `Host` en-tête, il fait une dangereuse \*\*hypothèse\*\* :

> Toutes les requêtes envoyées sur la même connexion TCP sont considérées comme fiables si la **première requête** est valide.

Cela permet d'injecter une requête malveillante ultérieure sur la même connexion, en contournant la validation initiale.

**Objectif du labo**

* Accéder au panneau d'administration interne :/ `HTTP://192.168.0.1/admin`
* Supprimer l'utilisateur **carlos**

**Observation initiale**

Une requête directe vers l'IP interne est bloquée :

```http
GET / HTTP/1.1
Host: 192.168.0.1
```

Le serveur rejette cette requête, ce qui confirme qu'une `Host` validation est en place **sur la première requête**.

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

**Opération : attaque sur l'état de connexion**

L'idée est d'envoyer \*\*plusieurs requêtes sur la même connexion TCP\*\* :

1. Une première requête légitime vers l'hôte public (acceptée).
2. Une deuxième requête malveillante vers l'IP interne, envoyée **sur la même connexion**.

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

Dans Burp Suite, cela se fait en :

* Regroupement des requêtes
* En utilisant **Envoyer le groupe dans une seule connexion**

<figure><img src="/files/1e48e7ea3ab0f6052dec2373e22b1557adeed474" alt=""><figcaption></figcaption></figure>

**Accès au panneau d'administration**

Une fois la connexion établie avec une requête valide, la requête suivante vers l'administration interne est acceptée :

```http
GET /admin HTTP/1.1
Host: 192.168.0.1
```

Le panneau d'administration interne devient alors accessible.

<figure><img src="/files/1d090fd7cc70b1f345c46d70607d6bf2d963a206" alt=""><figcaption></figcaption></figure>

**Suppression de l'utilisateur**

La suppression de l'utilisateur nécessite une requête POST :

```http
POST /admin/delete HTTP/1.1
Host: 192.168.0.1

csrf=ppBVKn8wVrgZifEETHsn48Hykwiq8yFO&username=carlos
```

Réponse du serveur :

<figure><img src="/files/72c47e84ced756725b1ccb4ee5aa1e407ca26330" alt="" width="446"><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/bypassing-validation-by-connection-state.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.
