Inyecciones CSS (CSSI): Explicación y PoC
Las Inyecciones CSS (CSSI) son una forma de vulnerabilidad en sitios web que permite a un atacante insertar código CSS dañino en una página web. Esto sucede cuando una aplicación web utiliza entradas de usuario no confiables directamente en su código CSS sin verificarlas correctamente.
El código CSS malicioso puede cambiar el aspecto y diseño de la página, lo que permite a los atacantes llevar a cabo acciones como suplantación de identidad o robo de información sensible.
Estas inyecciones CSS pueden ser aprovechadas por los atacantes como un método para explotar vulnerabilidades de Cross-Site Scripting (XSS). Por ejemplo, si una aplicación web permite a los usuarios ingresar texto en un campo que se muestra en una página, un atacante podría insertar código JavaScript malicioso si el desarrollador de la aplicación no filtra y valida adecuadamente el texto ingresado.
Si el código CSS insertado es lo suficientemente complejo, puede hacer que el navegador interprete el código como JavaScript. Esto significa que el código CSS malicioso puede inyectar código JavaScript en la página web, conocido como una inyección de JavaScript inducida por CSS (CSS-Induced JavaScript Injection).
Una vez que el código JavaScript está presente en la página, el atacante puede utilizarlo para llevar a cabo un ataque de Cross-Site Scripting (XSS), lo que podría permitir robar credenciales de usuario o redirigirlos a páginas falsas, entre otros posibles ataques.
Para esta prueba de concepto utilizaremos el laboratorio de Sfk-Labs
Cuando iniciamos la aplicación, podemos ver que hay un cuadro de texto que te permite escribir, en este caso el nombre de un color.
En este caso podríamos modificar el código en función a que le indiquemos al input de la entrada poniendo unas etiquetas script HTML. Como por ejemplo;
Este tipo de inyección lo podríamos derivar perfectamente a un Cross-Site Scripting(XSS)

Muy bueno!!! Fenomenal explicado. Gracias por compartir
¡¡Muchas gracias a ti por leerlo y apoyarlo 😉 !!