> For the complete documentation index, see [llms.txt](https://writeups.ayweth20.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://writeups.ayweth20.com/2023/404ctf-2023/web/fuite-en-1791.md).

# Fuite en 1791

**Catégorie:** Web - **Difficulté:** Moyen

**Description:**

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

Lien : <https://ddfc.challenges.404ctf.fr/>

**Solution:**

Pour ce challenge, nous arrivons sur une page avec un lien redirigeant vers une autre page :&#x20;

<figure><img src="/files/3iBp6lQU1j2MCn6Ak9Or" alt="" width="563"><figcaption></figcaption></figure>

Ici il n'y a rien d'intéressant, alors nous allons directement aller sur l'autre page :&#x20;

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

Ah pas de bol, le lien utilisé n'est plus valide. Regardons le de plus près : \
`https://ddfc.challenges.404ctf.fr/ddfc?expiry=-5625891076&signature=wawF6dC4Hz9g5NyCc3j1KCDcfztFE/sp`

Nous pouvons y voir 2 paramètres : un `expiry` (qui est un timestamp) et une `signature`.

Si nous essayons de changer le timestamp `-5625891076` (qui correspond à la date du *21/09/1791 12:38:05*) par un plus récent, comme `5625891076` (qui correspond à la date du *11/04/2148 12:31:16*) nous avons une autre erreur :&#x20;

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

La signature n'est plus valide et nous empêche donc d'accéder à la page souhaitée.\
Ici nous allons donc devoir chercher des solutions pour contrer ces problèmes.

Au départ, nous pourrions penser à chercher comment est générée la signature en fonction du timestamp, mais ce n'est pas vraiment l'objectif d'un chall web ici...\
La deuxième solution  est de chercher s'il n'y a pas de vulnérabilités à exploiter avec les paramètres d'une URL. C'est là que nous tombons rapidement sur une vulnerabilité nommée : "[Parameter Pollution](https://book.hacktricks.xyz/pentesting-web/parameter-pollution)".

En lisant la documentation de site très bien fait, nous voyons le principe de cette attaque : ajouter des paramètres à la fin de l'URL pour bypasser les restrictions précédentes.

Dans notre cas, le seul paramètre auquel nous pouvons toucher car nous avons compris son fonctionnement c'est le paramètre `expiry`.\
Alors faisons cela avec l'URL suivante en mettant notre timestamp créé à la fin : \
`https://ddfc.challenges.404ctf.fr/ddfc?expiry=-5625891076&signature=wawF6dC4Hz9g5NyCc3j1KCDcfztFE/sp&expiry=5625891076`

Avec ce lien, nous pouvons enfin accéder à la DDFC :&#x20;

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

Et trouver le flag tout en bas de la page :&#x20;

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

<details>

<summary>🚩 FLAG</summary>

```
404CTF{l4_p011uti0n_c_3st_m41}
```

</details>
