Nuevos labs cada semana — Accede a todos desde 5€/mes
Ver labs →Labs de SSTI
Server-Side Template Injection (SSTI)
¿Qué es SSTI?
La SSTI ocurre cuando entrada del usuario se concatena en un template renderizado server-side (Jinja2, Twig, FreeMarker, Velocity, Handlebars). Casi siempre escala a RCE porque los engines de template tienen acceso al runtime del lenguaje host.
¿Por qué practicar SSTI?
SSTI es de las vulnerabilidades de mayor impacto: detección rápida con `{{7*7}}` o `${7*7}`, escalada casi garantizada a RCE. Aparece en emails templated, error pages personalizadas y CMS configurables. Bounties P1 frecuentes en programs maduros.
¿Qué aprenderás con los labs de SSTI?
Aprenderás el flow de detección (basic + polyglot payloads), identificación del engine (Jinja2 vs Twig vs FreeMarker tienen syntaxis distinta), escalada a RCE específica por engine (`__class__.__mro__` en Python, `Runtime.getRuntime()` en Java), y bypass de sandboxes débiles.
Tipos de SSTI que cubrimos
- Jinja2 / Flask
{{7*7}} → 49. Escalada con {{config.__class__.__init__.__globals__[...]}} → os.system.
- Twig / Symfony
{{7*7}} → 49. Escalada con {{_self.env.registerUndefinedFilterCallback('exec')}}.
- FreeMarker / Velocity
Java-based. ${7*7} o ${'a'?upper_case}. RCE via freemarker.template.utility.Execute.
- Handlebars / Node
Más restrictivo, pero escalable con prototype pollution o helpers expuestos.
Cargando labs...
Ver en catálogo completo →Otras categorías relacionadas
Empieza con labs de SSTI
Practica Server-Side Template Injection (SSTI) con labs basados en reportes reales. En español. Desde 5€/mes.
Empieza con el primer lab de SSTI