Injection de template côté serveur
Qu'est-ce que Injection de template côté serveur ?
Injection de template côté serveurAttaque qui injecte la syntaxe d'un moteur de templates dans une entrée non fiable, provoquant l'exécution de code côté serveur au rendu du template.
L'injection de template côté serveur (SSTI) survient lorsque l'entrée utilisateur est concaténée dans un template traité par un moteur comme Jinja2, Twig, Freemarker, Velocity ou ERB. Beaucoup de moteurs permettent d'accéder à des objets et d'appeler des méthodes dans les expressions, si bien que des charges utiles comme {{7*7}} ou ${...} peuvent lire des variables d'environnement, parcourir le graphe d'objets et, in fine, exécuter du code arbitraire ou des commandes système. L'impact va de la divulgation de données à la prise de contrôle complète du serveur. Les défenses consistent à passer les données utilisateur uniquement comme variables de template (jamais comme template lui-même), à utiliser des moteurs sandboxés ou sans logique, à restreindre par liste blanche les noms de templates, à appliquer un encodage de sortie contextuel et à exécuter l'application avec un privilège minimal.
● Exemples
- 01
Un champ Nom rendu via Jinja2 renvoie 49 lorsque l'utilisateur saisit {{7*7}}, confirmant le SSTI.
- 02
Une injection Freemarker qui appelle Runtime.exec pour ouvrir un reverse shell sur le serveur.
● Questions fréquentes
Qu'est-ce que Injection de template côté serveur ?
Attaque qui injecte la syntaxe d'un moteur de templates dans une entrée non fiable, provoquant l'exécution de code côté serveur au rendu du template. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.
Que signifie Injection de template côté serveur ?
Attaque qui injecte la syntaxe d'un moteur de templates dans une entrée non fiable, provoquant l'exécution de code côté serveur au rendu du template.
Comment se défendre contre Injection de template côté serveur ?
Les défenses contre Injection de template côté serveur combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Injection de template côté serveur ?
Noms alternatifs courants : SSTI, Injection de template.