
Cross Site Scripting o XSS ¿Que es?
Cross Site Scripting o XSS es una de las vulnerabilidades de seguridad web más comunes y peligrosas que existen actualmente. En este artículo vamos a explicar de forma sencilla qué es el XSS, cómo funciona y qué peligro supone para un sitio web. Un ataque XSS o Cross Site Scripting consiste básicamente en inyectar código JavaScript malicioso en una página web de tu sitio, aprovechando fallos de seguridad en el código o en plugins y themes desactualizados o cracked. Posteriormente, este código se ejecuta después en el navegador de los usuarios que visiten esa página, sin que ellos se den cuenta de lo que está pasando.
El funcionamiento de un ataque Cross Site Scripting es simple:
En primer lugar, un atacante encuentra una forma de "colar" su código malicioso en un sitio web. Normalmente, esto se hace a través de formularios, comentarios o cualquier lugar donde se pueda introducir texto y no se valide correctamente.
Cuando otros usuarios cargan esa página del sitio web, su navegador web interpreta ese código malicioso que ha introducido el atacante como si fuera parte legítima de tu sitio web y lo ejecuta.
El problema de esto, es que con JavaScript puedes hacer prácticamente cualquier cosa en el navegador del usuario, ya que Javascript es un lenguaje Client-Side, es decir, que se ejecuta en el navegador del usuario y no en el servidor.
Estos son algunos ejemplos de cosas que puede conseguir un atacante ejecutando Javascript en el navegador de los visitantes mediante un ataque XSS:
Puede robar cookies de inicio de sesión del navegador del visitante para posteriormente suplantar su identidad.
Redirigir a esos usuarios a otros sitios web fraudulentos para estafarlos o suplantarles la identidad.
Capturar lo que escriben en los formularios, esto incluye el robo de tarjetas de crédito y otros datos delicados.
Modificar el contenido de lo que ven en el sitio web mediante algún tipo de layout colocado por encima del sitio web.
Existen dos tipos de ataque XSS o Cross Site Scripting:
Ataque XSS reflejado: En este tipo de ataque, el código Javascript malicioso ocurre mediante un enlace o URL manipulada que al abrirse en el navegador de la víctima, automáticamente se ejecuta el código.
Ataque XSS persistente o stored: En este caso, el código malicioso se queda guardado en la base de datos y se ejecuta cada vez que alguien carga la página infectada, por lo que es bastante más peligroso y, además, normalmente altera también el funcionamiento del sitio web.
Vamos a plantear un ejemplo práctico: Imagínate que tienes un formulario de comentarios en tu blog y ese formulario no está bien protegido y/o validado. Un atacante podría escribir un comentario que, en lugar de texto normal, contenga código JavaScript. Si tu web no filtra adecuadamente ese contenido, el código se guardará en la base de datos y cada vez que alguien vea ese comentario, el JavaScript malicioso se ejecutará en su navegador.
En WordPress, que es el CMS más utilizado del mundo, los ataques XSS suelen producirse a través de plugins con vulnerabilidades que permiten interacción pública mediante formularios o similares, aunque también pueden aprovechar fallos del propio núcleo de WordPress, ya que en algunas ocasiones aparecen algunas vulnerabilidades a ataques XSS, pero son casos aislados.
Protegerse contra este tipo de ataques no es difícil, tan solo debes seguir una serie de buenas prácticas y mantener tu CMS, plugins y themes siempre actualizados. Por otro lado, un buen WAF (Web Application Firewall) que pueda detectar y bloquear intentos de inyección de código malicioso es fundamental para protegernos contra ataques Cross Site Scripting. Lo ideal es que lo tenga el servidor o hosting donde tengas alojado el sitio web. Nosotros, en nuestro caso, utilizamos Imunify360 para proteger los sitios web de nuestros clientes.
Si por un casual sospechas que tu sitio web puede estar infectado por un ataque XSS, en primer lugar debes utilizar una herramienta como VirusTotal o Google Safe Browsing para comprobar si han reportado y marcado tu sitio web como peligroso, ya que es la comprobación más fácil y normalmente es donde miran los software antivirus para marcar un sitio web como peligroso.
Otra comprobación que puedes hacer es buscar código Javascript malicioso en los archivos de tu CMS, los plugins y el theme, pero esto ya requiere conocimientos avanzados para saber exactamente lo que estás viendo.
Si por algún casual encuentras código malicioso o si tu web está reportada en VirusTotal o Google Safe Browsing, lo siguiente será realizar una limpieza y desinfección del sitio web.
En Raiola Networks tenemos un procedimiento para desinfectar una instalacion WordPress, ya que somos expertos en WordPress. Si quieres realizar tú mismo el proceso de desinfección, en nuestro blog encontrarás el artículo con las instrucciones (AQUÍ), pero si no quieres realizar tú mismo el proceso, puedes solicitárnoslo y nos encargaremos desde nuestro departamento de aplicaciones y CMS. Los ataques XSS o Cross Site Scripting pueden causar daños serios tanto a tu sitio web como a tus usuarios, clientes o visitantes. Por esta razón, es fundamental implementar las medidas de protección y prevención para evitar que un atacante pueda ejecutar código malicioso en tu sitio web.

Álvaro Fontela
Consultor WordPress, además de CEO y cofundador de Raiola Networks. Autor del libro "Curso Práctico de WordPress" y speaker en congresos de marketing digital.
Autor


¿Te gusta nuestro contenido?
Si quieres ser el primero en leer nuestro contenido y enterarte de nuestras noticias.
HOSTING SSD desde 8,95€
Haz clic aquí¿Te ayudamos?
Escríbenos si tienes dudas o necesitas una solución específica
Categorías
Destacados
