Curiosidades De Hackers
OWASP TOP 10

Server-Side Template Injection (SSTI)


El término Inyección de Plantillas en el Lado del Cliente (o CSTI por sus siglas en inglés, Client-Side Template Injection) hace referencia a una vulnerabilidad de seguridad en la cual un atacante logra insertar código perjudicial dentro de una plantilla de cliente. Esta plantilla se ejecuta en el navegador del usuario, en lugar de procesarse en el servidor.

A diferencia de la Inyección de Plantillas en el Lado del Servidor (o SSTI, Server-Side Template Injection), en la que la plantilla en el servidor se encarga de generar contenido dinámico, en el caso de CSTI, es la plantilla de cliente la que se ejecuta en el navegador del usuario. Esta plantilla tiene la función de generar contenido dinámico en el entorno del cliente.

Un individuo malintencionado puede explotar una vulnerabilidad CSTI para insertar código dañino en la plantilla de cliente, lo que le permite ejecutar instrucciones en el navegador del usuario y obtener acceso no autorizado a la aplicación web, así como a información sensible.

Imagina, por ejemplo, una aplicación web que emplea plantillas de cliente para generar contenido dinámico. Un atacante podría aprovechar una debilidad en CSTI para insertar código maligno en la plantilla de cliente. Esto permitiría al atacante ejecutar comandos en el navegador del usuario y obtener acceso no autorizado a datos sensibles de la aplicación.

Una variante frecuente de un ataque de Inyección de Plantillas en el Lado del Cliente (CSTI) es utilizarlo como vía para llevar a cabo un ataque de Cross-Site Scripting (XSS).

Una vez que un atacante ha logrado inyectar código malicioso en la plantilla de cliente, puede manipular la información mostrada al usuario, lo que posibilita la ejecución de código JavaScript en el navegador del usuario. A través de este código maligno, el atacante podría intentar sustraer la cookie de sesión del usuario, lo que le otorgaría acceso no autorizado a la cuenta del usuario y la capacidad de realizar actividades maliciosas en su nombre.

Para prevenir ataques CSTI, es imperativo que los desarrolladores de aplicaciones web efectúen una validación exhaustiva y filtren adecuadamente la entrada de los usuarios. Además, se aconseja la utilización de herramientas y frameworks de plantillas seguros, los cuales implementen medidas de seguridad para prevenir la inserción de código perjudicial.

Enlace al laboratorio

abrimos python para ver en decimal cuanto valdría

Imagen relacionada

Buscamos una plantilla con la que atacar

Enlace a la plantilla de ataque

y lo modifico para que ponga lo que quiera, vemos los números 80,87,78,69 y 68 que equivaldría a PWNED

Imagen relacionada

y saldría

Imagen relacionada

Así mismo lo podríamos hacer para una revshell