Client-Side Template Injection (CSTI)
Descripción
El Client-Side Template Injection (CSTI) es una vulnerabilidad de seguridad en la que un atacante puede inyectar código malicioso en una plantilla de cliente, que se ejecuta en el navegador del usuario en lugar del servidor.
Mitigación
Para prevenir los ataques de CSTI, los desarrolladores de aplicaciones web deben validar y filtrar adecuadamente la entrada del usuario y utilizar herramientas y frameworks de plantillas seguros que implementen medidas de seguridad para prevenir la inyección de código malicioso.
PoC
Para esta demostración tenemos un input en el cual es posible inyectar etiquetas interpretadas por un framework.
Procederemos a inyectar el siguiente payload, para verificar si este se interpreta.
Podemos observar que este nos entrega el resultado reflejado en el sitio web, por lo que es vulnerable a este tipo de inyecciones.
XSS a través de CSTI
Para este ejemplo ocuparemos el siguiente payload (podemos obtener más payloads desde el siguiente enlace).
Al inyectar este payload en el input del sitio podemos notar que explota el XSS sin ningún problema.