Post

Fuite en 1791

đť„ž Introduction

Intro

đť„ž Solution

L’objectif du challenge est trouver un moyen d’accéder à certain lien.

Accueil Sur la page d’accueil, un lien est présent, mais lorsqu’on clique dessus, une erreur est renvoyée.

1
https://ddfc.challenges.404ctf.fr/ddfc?expiry=-5625891076&signature=wawF6dC4Hz9g5NyCc3j1KCDcfztFE/sp

Link

En examinant les paramètres de l’URL, nous remarquons ce qui semble être un Timestamp -5625891076. En convertissant cette valeur à l’aide d’un site tel que epochconverter.com, nous obtenons la date "Wednesday, September 21, 1791 12:28:44 PM"`. Cela explique pourquoi nous obtenons une erreur indiquant que le lien a expiré.

Le problème est que si nous essayons de modifier la valeur du paramètre expiry, une nouvelle erreur est renvoyée. Invalid

Si nous essayons de modifier la valeur du paramètre signature en utilisant une valeur aléatoire ou vide, une autre erreur est renvoyée. Missing

J’ai essayé d’ajouter la date “Wednesday, September 21, 1791 12:28:44 PM” au header DATE de ma requête pour donner l’impression que la requête a été effectuée avant la date d’expiration, je continue d’obtenir l’erreur indiquant que le lien a expiré même avant une date dans le futur.

Je décide donc de chercher comment manipuler les paramètres d’une URL et voir s’il y a quelque chose que je pourrais utiliser. J’ai découvert une technique appelée Parameter Pollution

J’ai donc essayé d’appliquer cette technique en ajoutant un deuxième paramètre expiry correspondant à un Timestamp futur, soit 5625891076 : Qui correspond à Thursday, April 11, 2148 11:31:16 AM

1
https://ddfc.challenges.404ctf.fr/ddfc?expiry=-5625891076&signature=wawF6dC4Hz9g5NyCc3j1KCDcfztFE/sp&expiry=5625891076

Le deuxième expiry va “écraser” la valeur du premier, rendant le lien valide !

đť„ž FLAG : 404CTF{l4_p011uti0n_c_3st_m41} đť„ž

đť„ž Conclusion

En résolvant le défi “Fuite en 1791”, j’ai réussi à trouver une solution en exploitant la vulnérabilité de pollution de paramètres. En utilisant la technique de pollution de paramètres, j’ai pu modifier la valeur du paramètre expiry et rendre le lien valide. Ce défi met en évidence l’importance de comprendre les mécanismes des URL et les vulnérabilités potentielles qui peuvent en découler.

This post is licensed under CC BY 4.0 by the author.