El resultado es el siguiente:

Imagen 1 3 - XSS Vulnerability Sample result
Una vez presentado el problema, la siguiente cuestón es, que puede hacer un atacante cuando nuestra aplicación es vulnerable a XSS?
El tipo de ataques que se pueden realizar son muy variados. Uno de los más conocidos es el envío de emails masivos que podemos ver en la siguiente imagen, adjuntando una url de una aplicación de confianza (en este ejemplo, happybanking) en la que el resultado final es la ejecución de una función javascript que puede por ejemplo redireccionarnos a otra web (la web del atacante con la misma imagen visual que la original) o obtener las cookies de nuestro navegador y enviarlas a la web del atacante.

Imagen 1-4 - XSS Mail Attack
Esta última técnica (el robo de cookies) puede proporcionar al atacante el acceso a las aplicaciones web en las que el usuario este autenticado en ese momento (banca on-line, correo personal,..). Esto es gracias a que la mayoría de aplicaciones web utilizan cookies como técnica de mantenimiento de la sesión. Es decir, una vez que el usuario se identifica, el servidor crea un identificador de sesión que se almacena en forma de cookie en el navegador del usuario. A partir de hay cada petición web contra la aplicación web que envía, el usuario incluye esta cookie para no tener que introducir el usuario/password en cada petición. Todo esto es gestionado de forma automática por el navegador.
Esta vulnerabilidad (XSS) puede ser solucionada a través de políticas de validación genéricas (que no permiten ciertos caracteres) o utilizando librerías como Struts que evitan este tipo de problemas.