SSTI avec exploit personnalisé
Server-side template injection with a custom exploit
L’application est vulnérable à une injection SSTI.
L’objectif consiste à créer un exploit personnalisé permettant de supprimer le fichier /home/carlos/.ssh/id_rsa.
Connexion possible avec l’utilisateur : wiener:peter.
Point injectable
Le champ nickname est vulnérable :
L’expression est évaluée.

En provoquant une erreur :
On découvre que le moteur utilisé est Twig (PHP).

Détournement de la fonctionnalité d’avatar
Il est possible de définir un avatar personnalisé via :


Ce mécanisme crée un symlink vers n’importe quel fichier lisible. Ainsi, on peut récupérer son contenu en téléchargeant l’avatar.
Exemple
Lire /etc/passwd
Le fichier est accessible lors de l’ouverture de l’image

Analyse du code User.php
User.phpLe fichier /home/carlos/User.php révèle :

La fonction gdprDelete() supprime réellement le fichier pointé par le lien symbolique.
C’est exactement ce que l’on doit exploiter pour effacer id_rsa.
Exploitation : suppression de /home/carlos/.ssh/id_rsa
/home/carlos/.ssh/id_rsaCréer un symlink vers la clé SSH de Carlos
Déclencher la suppression via :
Le lien symbolique pointe vers id_rsa
gdprDelete() efface la cible du lien
Le fichier id_rsa est supprimé.
Mis à jour
Ce contenu vous a-t-il été utile ?