SSTI avec filtrage d'informations via des objets utilisateur (python)
Server-side template injection with information disclosure via user-supplied objects
Objectif du lab : exploiter une SSTI provoquée par la manière dont un objet est passé au template, afin de récupérer des données sensibles, en particulier la clé secrète du framework.
On dispose d’un compte : content-manager : C0nt3ntM4n4g3r.
Analyse et identification de la SSTI
On commence par provoquer une erreur dans le moteur de template avec l’expression suivante :

Cela permet de confirmer qu’on peut injecter du code de template côté serveur.
On essaie ensuite d’afficher davantage d’informations de débogage en injectant :
{% debug %}
Cependant, aucune information intéressante ou sensible n’apparaît dans la sortie.

Récupération de la clé secrète
Comme l’objet passé au template donne accès à la configuration, on tente de lire directement la clé secrète du framework via les paramètres :
{{settings.SECRET_KEY}}

Cette expression révèle la secret key utilisée par le framework.
On soumet alors cette valeur au laboratoire pour le valider.
Mis à jour
Ce contenu vous a-t-il été utile ?