Zum Inhalt springen
uencoder

Template Injection

Server-Side Template Injection (SSTI) bedeutet, dass Angreifer Template-Syntax in den Rendering-Kontext einschleusen und beliebigen Code in der serverseitigen Template-Engine ausführen.

Zweck

Die durch bis zum Template-Rendering gelangende Benutzereingaben verursachte SSTI und ihre Abwehr verstehen; eine häufige Schwachstelle in Jinja2/Freemarker und Ähnlichem.

Mechanismus

Das Programm rendert Benutzereingaben als Template via template.render(user_input); der Angreifer gibt {{7*7}} oder {{config}} ein, um Ausdrücke auszuführen oder Objekte preiszugeben. Abwehr: Templates von Daten trennen, Sandboxing, sicheres Rendering.

Anwendungsfälle

  • Jinja2-SSTI
  • Freemarker-Sicherheit
  • Audit von Template-Engines

Verwandte Tools

References