El Cross Site Scripting, también conocido también como XSS, es un tipo de inseguridad informática web que permite la inserción de código malicioso en nuestra web en javascript, en VBScript o lenguajes parecidos.
Esta vulnerabilidad se da en páginas web donde se le permite al usuario introductr contenido html, como por ejemplo, comentarios, artículos o contenido, etc...
Y el código malicioso que se puede introducir es (por ejemplo): llamadas ajax, iframes, scripts maliciosos, etc...
Hay dos tipos de ataques de Cross Site Scripting:
- Cross Site Scripting persistente:Este tipo de ataque tiene lugar cuando el código ya pasó el código de validación y está almacenado en algún tipo de soporte, ya sea una base de datos o un fichero que requiera datos del usuario en algún momento. Cuando esa información sea presentada en la web, el código malicioso será ejecutado.
- Cross Site Scripting no persistente: El código malicioso pasa directmanete a la víctima
Para defenderse del Cross Site Scripting hay que limitar el número de caracteres de los campos del formulario y validadores y limitando el código html con la función strip_tags, escapar los datos con la función htmlspecialchars y si se usa algún tipo de codificación especial diferente a ISO-8859-1 o UTF-8, entonces usaremos la función htmlentities.
Este post ha sido breve pero creo que es interesante y evitar el código malicioso de terceros es sencillito.