El XSS o Cross Site Scripting es un tipo específico de ciberataque mediante el cual se busca encontrar vulnerabilidades en una aplicación web para introducir un script dañino y atacar el sistema, utilizando un contexto válido y confiable para el usuario. Los scripts son, básicamente, archivos de comandos o programas escritos en lenguajes de programación que se ejecutan directamente en el navegador web. En algunos casos los atacantes podrían acceder a información sensible.
En todos los casos en que una aplicación web envíe datos de un usuario y estos no estén validados, existe un riesgo de ataque por Cross Site Scripting o XSS, pues esta es la vía mediante la cual los archivos maliciosos llegan al cliente o al navegador. Una vez allí, las aplicaciones infectadas manipulan los scripts propios de la página tales como: formularios de registro, comentarios, etc. y mientras para el usuario la página es segura, los datos están siendo enviados a otro sitio sin ningún filtro de seguridad.
Existen distintos tipos de ataques XSS, algunos de ellos son:
Tabla de contenidos
XSS indirecto o reflejado
Al abrir una URL infectada o al llenar un formulario adulterado se envía el script dañino al servidor web, que se envía nuevamente al cliente sin comprobación. El código malicioso no se almacena en el servidor, sino que existe temporalmente cuando el cliente abre la página web. Las páginas webs dinámicas y las aplicaciones de correo son especialmente vulnerables a este tipo de ataques.
XSS directo o persistente
Por otro lado, en este tipo de ataque los archivos infectados se almacenan en el servidor web y se liberan cada vez que se accede a una página web desde un navegador. Para lograrlo, se escogen las aplicaciones web que almacenan datos de un usuario en su propio servidor y se transfieren sin métodos de control o codificación.
XSS en DOM
Este tipo de ataques son provocados mediante los scripts que están del lado del cliente. Cuando abrimos una página infectada, el código de tipo malicioso podría aprovechar una debilidad en la seguridad para instalarse en un archivo del explorador web y ejecutarse allí sin ningún tipo de comprobación previa. Al contrario de lo que sucede en los dos tipos de ataques anteriores, en este caso no se involucra el servidor web.
¿Por qué o cómo sucede esta vulnerabilidad?
En la mayoría de los casos es consecuencia de la poca o falta de frecuencia de los controles necesarios en la página web o aplicación, que consideren la ejecución de comandos en la misma página web.
¿Cómo se ejecuta?
Para ilustrarlo mejor, podríamos utilizar un ejemplo simple:
1: Tenemos un servidor vulnerable a ataques XSS.
2: Por otro lado, un atacante logra inyectar código malicioso en la página web que utiliza este servidor vulnerable. El código inyectado hace que el usuario sea redirigido a un sitio web exactamente igual al de la web segura.
3: El usuario accede desde su navegador a la web que cree segura. Sin embargo, al ejecutarse el código inyectado, registrará sus datos en la página clonada. Esto compromete por completo su información personal.
Para prevenir este tipo de ataques es imprescindible contar con protocolos de seguridad como SSL, que previenen la ejecución de códigos maliciosos en la web y protegen los mensajes enviados y recibidos al servidor, evitando así que se infecten. Además, si tu site tiene SSL es mucho más difícil que los clientes caigan en estafas y envíen sus datos a fuentes maliciosas.
Para que no dejes de leer: ¿Por qué el SSL es importante para el SEO de mi sitio web?, ¿Puede el SSL ser roto o decriptado-descifrado o interceptado?
Licenciada en Letras, apasionada por la redacción creativa y el Marketing Digital. Convencida de que decirlo no basta, debe ser en el lugar indicado, con las palabras correctas y mucha creatividad.
More from Seguridad web
¿Qué es un proxy inverso?
Permitir que los usuarios de Internet se conecten con servidores seguros es una de las principales preocupaciones de los administradores …
¿Qué es un proxy web, también llamado proxy HTTP?
Un proxy significa un intermediario, generalmente entre usted y su dirección IP y el servidor de destino del sitio que …
Cómo funciona el firewall de aplicaciones en Plesk
¿Cómo funciona el firewall de aplicaciones en Plesk? ¿Cuáles son sus características más destacadas? De las cosas que me gustan …