Empecemos por ¿Qué es un Cross-Site Scripting o XSS?
Definámoslo de una manera sencilla, son un tipo de inyecciones. Un Cross-Site al final es una ejecución de código malicioso que puede ser JavaScript, HTML o cualquier otro lenguaje siempre y cuando el entorno donde se vaya a ejecutar sea compatible con la plataforma en la que se está ejecutando y afecte a la plataforma realizando acciones maliciosas definidas por el usuario que no espera la plataforma y esto se produce por un input mal filtrado.
Por definir un poquito los términos y para que ya nos vayan sonando, JavaScript es un lenguaje de programación interpretado que permite compilar el código durante la ejecución y actualmente es utilizado por muchísimas páginas web.
JavaScript permite que la aplicación cliente, es decir, el sitio web, procese la información que recibe del servidor o desea enviar como, por ejemplo, publicar un mensaje, enviar credenciales de usuario para iniciar sesión, etc., o incluso renderizar juegos. Actualmente se usa en muchas aplicaciones y distintas plataformas por ejemplo de CMS (Sistema de gestión de contenidos) como son Wordpress, Drupal, Jommla, Shopify, etc...