SSTI basique en contexte de code (Python )

Basic server-side template injection (code context)

Ce laboratoire présente une vulnérabilité Server-Side Template Injection (SSTI) due à l'utilisation non sécurisée d’un template Tornado. L’objectif est d’exécuter du code arbitraire via le moteur de templates, puis de supprimer le fichier morale.txt situé dans le répertoire personnel de Carlos.

Un compte de test est fourni : wiener : peter.

Analyse de l’application

Dans la section permettant de définir la manière dont l’utilisateur souhaite être affiché lors d’un commentaire, il est possible de modifier le paramètre transmis :

L’erreur retournée par le serveur confirme la présence d’un moteur Python/Tornado, ce qui laisse supposer une injection de template.

Tests d'injection basique

Pour vérifier si le template est interprété :

Le rendu confirme l’injection : le calcul est exécuté par le moteur de template.

Exécution de commandes

Tornado permet l’import de modules directement dans le template

Lecture du fichier /etc/passwd

Injection adaptée au paramètre vulnérable

Suppression du fichier morale.txt

Commande finale pour valider le laboratoire :

Mis à jour

Ce contenu vous a-t-il été utile ?