VIP Ticket
Cycom 2024 - VIP Ticket - Web - 300 points⌗
Enoncé⌗
Le flag se trouve dans la racine du dossier home de l’un des utilisateurs du serveur.
Solution⌗
Lors de la génération du PDF, il est possible d’injecter du code HTML. Nous injectons tout d’abord une iframe avec une source pointant sur localhost :
Foo Bar<iframe src=http://localhost/ width=500 height=500></iframe>
Cependant, si nous essayons de charger /etc/passwd, rien ne nous est retourné :
Foo Bar<iframe src=file:///etc/passwd width=500 height=500></iframe>
Pour contourner cette restriction, nous devons revenir à la page d’accueil. En examinant le code source de la page, nous remarquons que le bouton “Continue” utilise une redirection.
Le paramètre GET Dest est vulnérable aux redirections ouvertes :
En combinant la redirection ouverte avec l’injection HTML dans la génération de PDF, nous pouvons récupérer le contenu de /etc/passwd et ainsi obtenir le nom de l’utilisateur OxBF :
Foo Bar<iframe src=http://localhost/redirect.php?dest=file:///etc/passwd width=500 height=500></iframe>
De la même manière, nous pouvons récupérer le flag :
Foo Bar<iframe src=http://localhost/redirect.php?dest=file:///home/OxBF/flag.txt width=500 height=500></iframe>
Flag: CYCOM{0xBF*******}
Auteur⌗
Tindlid