¿Qué es el cross-site scripting (XSS) y cómo puedes evitarlo?

Navega de forma segura

Cuando hablamos de seguridad web, cualquier precaución que podamos tomar es poca. Y ya no solo cuando tenemos una página web, sino también a nivel de usuario. De hecho, hace muy poco te explicamos en nuestro blog en qué consistía un ataque por inyección SQL, así que ahora damos un paso más. Voy a explicarte en qué consiste el cross-site scripting (XSS).

Como sabes, los hackers aprovechan cualquier vulnerabilidad o agujero de seguridad para tomar el control y aprovecharse para lanzar una campaña de phishing o malware. Una de las vulnerabilidades más conocidas y explotadas por los ciberdelincuentes es el cross-site scripting (XSS).

Pero, ¿quieres saber un poco mejor en qué consiste esta vulnerabilidad y cómo puedes prevenirla? Entonces, sigue leyendo.

¿Qué es el cross-site scripting (XSS)?

El cross-site scripting (XSS) es un tipo de vulnerabilidad informática muy común en las aplicaciones web que permite a los atacantes colocar secuencias de comandos maliciosas en páginas web y, a su vez, instalan malware en los navegadores web de los usuarios.

Estos ataques no se limitan solamente a las páginas web disponibles en Internet, sino que también puede haber aplicaciones que tengas instaladas en tu ordenador que sean vulnerables a estos ataques de cross-site scripting (XSS).

¿Cómo se producen los ataques XSS?

Como sabes, las páginas web y los navegadores de los usuarios se están intercambiando información continuamente. Los atacantes utilizan cualquier vulnerabilidad para enviar al navegador contenido malicioso y así robar información sensible de los usuarios.

¿El objetivo de este tipo de ataque?

Esta vulnerabilidad permite a los atacantes ejecutar un script malicioso en el navegador de la víctima, como JavaScript. De esta forma son capaces de secuestrar las sesiones de usuario, contraseñas u otros datos personales. De esta forma, pueden tener acceso directo a tu correo electrónico, la cuenta bancaria o cualquier otra información sensible que tengas almacenada en el navegador.

Candados blancos sobre fondo rojo

¿Puedo hacer algo para evitar un ataque cross-site scripting (XSS)?

Los atacantes se las saben todas, pero es importante que tú tomes ciertas medidas para prevenir este tipo de ataques y no ser una víctima más de los ciberdelincuentes. Tanto si eres un usuario de la World Wide Web o como si eres el propietario de una web.

Soy un usuario

Ojo, con entrar en páginas web que no parezcan sospechosas no es suficiente. Es necesario que seas proactivo y cuides tu actividad en la red. Por ejemplo, utilizar un antivirus y mantener al día tus aplicaciones pueden ahorrarte más de un susto.

Y sí, cuando decimos que es importante mantener todo actualizado, hablamos también de la versión de tu navegador. De hecho, ellos trabajan proactivamente y liberan nuevas versiones frecuentemente para mantenerte a salvo. Por ejemplo:

  • Google Chrome utiliza un filtro llamado XSSAuditor que analiza la solicitud HTTP y elimina funciones sospechosas de JavaScript.
  • Mozilla Firefox utiliza un filtro XSS que modifica la carga útil mediante entidades HTML o codificaciones de URLs. Esto evita que se ejecute código malicioso en el navegador.
  • Microsoft Internet Explorer utiliza un filtro que divide los datos enviados en dos categorías: confiables y no confiables con el objetivo de verificar la ejecución inmediata del código.

Tengo una página web

Si eres el propietario de una web, también es importante que cuides la seguridad de quienes te visitan. Según OWASP Foundation (organización sin ánimo de lucro que se dedica a determinar y combatir las causas que hacen que el software sea inseguro) estas son algunas de las medidas que debes de tomar en tu web

  • Utilizar frameworks seguros que, por diseño, automáticamente codifican el contenido para prevenir XSS, como en Ruby 3.0o React JS.
  • Codificar los datos de requerimientos HTTP no confiables en los campos de salida HTML (cuerpo, atributos, JavaScript, CSS, o URL) resuelve los XSS Reflejado y XSS Almacenado. La hoja de trucos OWASP para evitar XSS tiene detalles de las técnicas de codificación de datos requeridas.
  • Aplicar codificación sensitiva al contexto, cuando se modifica el documento en el navegador del cliente, ayuda a prevenir XSS DOM. Cuando esta técnica no se puede aplicar, se pueden usar técnicas similares de codificación, como se explica en la hoja de trucos OWASP para evitar XSS DOM.
  • Habilitar una Política de Seguridad de Contenido (CSP) supone una defensa profunda para la mitigación de vulnerabilidades XSS, asumiendo que no hay otras vulnerabilidades que permitan colocar código malicioso vía inclusión de archivos locales, bibliotecas vulnerables en fuentes conocidas almacenadas en Redes de Distribución de Contenidos (CDN) o localmente.

En resumen…

Cualquier medida que tomes a la hora de navegar por Internet es poca. Toda tu información personal, datos de pago o cualquier otra información sensible puede estar en peligro.

Además, cuando eres el propietario de un pequeño negocio, también debes cuidar la seguridad de tu página web. Es posible que toda la confianza que te hayas ganado en todos estos años de trabajo se trunque por un problema de seguridad. Así que te recomendamos que tomes las medidas necesarias para mantener toda tu información y la de tus clientes a salvo.

Si quieres saber un poco más sobre seguridad web, aquí te dejo algunos posts que te pueden ser útiles: