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 ?