Qué es el XSS
El XSS (cross-site scripting) es un tipo de ataque en el que alguien inserta código malicioso en una página de tu web para que se ejecute en el navegador de otros visitantes, pudiendo robar datos o suplantar sesiones. También se conoce como «cross-site scripting» o «secuencias de comandos en sitios cruzados».
Es como si alguien dejara una nota falsa firmada con tu nombre dentro de tu propia tienda, de forma que cualquier cliente que la lea crea que el mensaje viene realmente de ti, cuando en realidad es del impostor. El XSS aprovecha un campo de tu web (un comentario, una búsqueda, un formulario) que no filtra bien lo que se escribe en él para insertar código que se ejecuta en el navegador de quien visite esa página después, como si ese código formara parte legítima de tu web, lo que permite al atacante robar información de sesión, redirigir a otras páginas o mostrar contenido falso.
Cómo funciona
- Un atacante localiza un campo de tu web donde los visitantes pueden escribir texto que luego se muestra a otras personas.
- En lugar de un comentario normal, introduce un fragmento de código camuflado como texto.
- Si tu web no limpia ni neutraliza ese código antes de mostrarlo, el navegador de quien visite esa página lo ejecuta como si fuera parte normal del sitio.
- Ese código puede robar la sesión de un usuario conectado, redirigirlo a otra web o mostrarle contenido falso en tu nombre.
- El dueño de la web puede no notar nada raro, porque el ataque afecta directamente a quien visita la página infectada, no a la administración.
Ejemplo
Una academia de música en Toledo tenía una sección de comentarios abierta en su web donde los alumnos podían dejar opiniones sobre los cursos. Un atacante aprovechó que esos comentarios no filtraban bien el código introducido para insertar un script que redirigía a quien leía esa página a una web externa con un falso regalo para robar datos de tarjetas. Limpiamos los comentarios afectados, añadimos un filtro que neutraliza cualquier código en los campos abiertos al público y revisamos el resto de formularios de la web con el mismo criterio.
Señales de que te afecta
- Un escaneo de seguridad detecta una vulnerabilidad de XSS en algún plugin, tema o formulario de tu web.
- Algunos visitantes te comentan que, al entrar en cierta página, el navegador los redirige solo o les muestra ventanas extrañas.
- Aparecen comentarios o mensajes en tu web con contenido que no parece un comentario normal.
- Tienes secciones abiertas al público (comentarios, foros, valoraciones) en plugins que no se actualizan desde hace tiempo.
Cómo lo resolvemos
Revisamos todos los puntos de tu web donde los visitantes pueden introducir texto que luego se muestra a otras personas, nos aseguramos de que ese contenido se neutraliza correctamente antes de mostrarse, y actualizamos o sustituimos cualquier plugin o tema con una vulnerabilidad conocida de este tipo. Si quieres que revisemos tu web frente a este riesgo, en nuestro servicio de seguridad WordPress lo hacemos. El XSS suele aparecer en el mismo tipo de plugins mal mantenidos que permiten inyección SQL, y ambos son ejemplos concretos de vulnerabilidad sin corregir.
Preguntas frecuentes
¿El XSS afecta a mí como dueño de la web o a mis visitantes?
Principalmente a tus visitantes, porque el código se ejecuta en su navegador, pero también te afecta a ti porque ocurre dentro de tu web y con tu nombre, dañando la confianza en tu negocio.
¿Las secciones de comentarios son las únicas en riesgo?
No, cualquier campo donde se muestre texto introducido por otra persona (formularios, valoraciones, campos de búsqueda que muestran lo buscado) puede ser vulnerable si no está bien protegido.
¿Puedo simplemente cerrar los comentarios para evitarlo?
Reduce el riesgo en esa sección concreta, pero no corrige el problema de fondo si otros formularios de tu web tienen el mismo fallo de validación.