academy
Seguridad
Seguridad
Mostrar todo sobre Seguridad
Privacidad
Privacidad
Mostrar todo sobre Privacidad
Rendimiento
Rendimiento
Mostrar todo sobre Rendimiento
Seleccione el idioma
Seleccione el idioma
Avast Academy Seguridad Otras amenazas Secuencias de comandos en sitios cruzados (XSS)

¿Qué son las secuencias de comandos en sitios cruzados (XSS)?

Las secuencias de comandos entre sitios, también conocidas como XSS, son un ciberataque que se produce cuando un pirata informático inyecta código malicioso en un sitio web legítimo. Aprenda de dónde vienen los ataques de XSS y cómo funcionan, y descubra cómo protegerse contra todo tipo de amenazas en línea con una solución de seguridad de primer nivel.

Cross-site_scripting_XSS-Hero

Los ataques de XSS son un tipo de ataque de inyección de código, una amplia categoría de ciberdelitos. Para realizar uno de estos ataques de inyección, un pirata informático añade (inyecta) su propio código en un programa vulnerable. Algunos ataques alteran completamente la ejecución del programa, mientras que otros añaden resultados adicionales, como la descarga de malware en el equipo de la víctima o el robo de datos personales.

Hamburguer menu icon

Este artículo contiene:

    ¿Cómo funcionan las secuencias de comandos entre sitios web?

    En programación informática, una secuencia de comandos es una serie de instrucciones que indica a un programa lo que debe hacer. Los piratas informáticos pueden aprovechar las vulnerabilidades del código de un sitio web para inyectar sus propias secuencias de comandos maliciosas que cambien el comportamiento del sitio web de alguna manera.

    Su navegador no puede distinguir entre el código legítimo del sitio web y el que haya inyectado un ciberdelincuente. El navegador ejecuta automáticamente todas las secuencias de comandos de un determinado sitio web, por lo que ejecutará el código del pirata informático junto con todo lo demás.

    Las XSS permiten a los piratas informáticos convertir sitios web legítimos en trampas. La navegación normal se torna peligrosa cuando accede a un sitio infectado con secuencias de comandos maliciosas ocultas. Y lo que es peor, el XSS significa que el pirata informático no tiene que atacar directamente a cada víctima, sino que puede sentarse y dejar que los sitios web infectados hagan todo el trabajo, llegando a mucha más gente simultáneamente.

    HTML, JavaScript y aplicaciones web: ¡ay, madre!

    Detrás de cada sitio web hay un montón de código escrito en un lenguaje de marcado llamado HTML. Los programas informáticos, como las aplicaciones web, usan lenguajes de marcado para distinguir el código del texto normal.

    Con los ataques de secuencias de comandos entre sitios web, los piratas informáticos pueden aprovechar las vulnerabilidades del código de una página web para inyectar secuencias de comandos maliciosas que cambian su comportamiento.

    Una aplicación web es un programa almacenado a distancia que llega a su equipo a través del navegador de Internet. Algunos ejemplos comunes son los servicios de correo electrónico y las tiendas electrónicas. A medida que introduce datos en la aplicación web, ésta interpreta y actúa sobre sus peticiones en el servidor, y luego le transmite los resultados en el navegador. La diferencia entre las aplicaciones web y las aplicaciones nativas es que estas últimas son programas «tradicionales» que se instalan y ejecutan completamente en su dispositivo.

    Los sitios web escritos únicamente en HTML no pueden ajustarse dinámicamente a las entradas del usuario. Por eso, para que las aplicaciones web funcionen bien, los programadores mezclan el HTML con lenguajes adicionales como el JavaScript, un lenguaje más avanzado que permite a los sitios reaccionar en tiempo real a sus órdenes. Si está navegando por una tienda de ropa, por ejemplo, y elige ver «jerséis» en un menú desplegable, JavaScript le dice al sitio web que le muestre todos los jerséis, y solo los jerséis, que puede comprar.

    Mientras que el HTML se aloja en el lado del servidor, el JavaScript se ejecuta en el equipo (lo que se conoce como funcionamiento del lado del cliente). La mayoría de los ataques de XSS usan HTML o JavaScript, y esa diferencia es fundamental para entender cómo funcionan los distintos tipos de ataques de XSS.

    ¿Qué puede hacer un ataque de secuencias de comandos entre sitios?

    Los ataques de XSS no suelen ser tan peligrosos como otros tipos de ataques de inyección de código, como la inyección de SQL. Los navegadores tienden a mantener el contenido de JavaScript a raya, pero un pirata informático hábil puede trabajar con estos límites para aprovechar una serie de datos del usuario.

    Muchos ataques de XSS tienen como objetivo secuestrar las cookies de sesión de la víctima cuando esta ve el sitio web infectado. Con estas cookies, el pirata informático puede actuar en nombre de la víctima y acceder a su información personal, como nombres de usuario y contraseñas, para usarla en otros ciberdelitos. En un portal de comercio electrónico, esos datos pueden incluir incluso números de tarjetas de crédito y débito.

    Con el XSS, un sitio web legítimo puede transformarse en un portal de phishing. Por ejemplo, un pirata informático puede usar XSS para crear un formulario de inicio de sesión envenenado que capture las credenciales de las víctimas cuando se envíen. También se podría inyectar un keylogger que registre las pulsaciones del teclado de la víctima mientras está en la página afectada. Las secuencias de comandos maliciosas pueden incluso descargar malware en los ordenadores de las víctimas para allanar el camino a ataques posteriores.

    Dado que todos los sitios web usan HTML, y que la mayoría de los sitios web también usan JavaScript, todo lo que necesita un pirata informático es encontrar uno que pueda explotar. Por eso, el XSS es una de las vulnerabilidades de seguridad más frecuentes en el software actual.

    No solo está muy extendido, sino que también es increíblemente difícil de detectar, ya que los piratas informáticos pueden insertar código malicioso en sitios por lo demás legítimos. Es posible que los propietarios de estos sitios web de confianza no detecten o no puedan eliminar el código malicioso durante algún tiempo. En lugar de esperar a que se elimine el código XSS, o de estar paranoico y desconfiar de todos los sitios web que existen, el mejor remedio es usar una herramienta de ciberseguridad sólida.

    Avast Free Antivirus detiene el XSS en su camino, por lo que nunca correrá el riesgo de entregar su información personal a un pirata informático. También proporciona una protección permanente contra enlaces maliciosos, archivos adjuntos de correo electrónico infectados y todas las demás amenazas en línea que existen.

    ¿Qué tipos de ataques de secuencias de comandos entre sitios existen?

    Existen tres categorías básicas de ataques de XSS. Los dos primeros, reflejados y almacenados, implican la manipulación de código en el servidor de la aplicación web, mientras que los ataques de XSS basados en el DOM son una categoría más reciente que funciona exclusivamente en el dispositivo de la víctima.

    Secuencia de comandos en sitios cruzados reflejada

    El XSS reflejado es el más sencillo y común de los tres tipos de ataques de XSS. Es el más fácil de ejecutar y (como suele ocurrir en estas situaciones) también es el más fácil de detectar y evitar. De hecho, es el único tipo que puede esperar detectar razonablemente por su cuenta, sin la ayuda de un software antivirus.

    También conocido como ataques no persistentes, los XSS reflejados requieren que las víctimas hagan clic en enlaces maliciosos ya preparados con el script del pirata informático. El navegador de la víctima envía la solicitud cargada al servidor del sitio web, y luego se «refleja» en la víctima a través de una página infectada.

    El pirata informático no tiene que quebrantar la seguridad del sitio web en sí, pero sí necesita convencer a las víctimas potenciales para que hagan clic en sus enlaces infectados. Es un intercambio entre la magia técnica y las hazañas de ingeniería social.

    Secuencia de comandos en sitios cruzados almacenada

    Mientras que los ataques de XSS reflejados deben iniciarse activamente cada vez a través de un enlace malicioso, los XSS almacenados superan esta limitación. Los XSS almacenados permiten a los piratas informáticos inyectar permanentemente sus secuencias de comandos directamente en un sitio web, infectando a cada usuario que lo visite. Por eso también se conocen como ataques persistentes de secuencias de comandos entre sitios.

    Los ataques de XSS almacenados son más complicados que sus homólogos reflejados, porque un pirata informático debe identificar un sitio web con:

    • Suficiente tráfico para que valga la pena atacarlo, y

    • Una vulnerabilidad de seguridad que pueda ser objeto de ataques XSS almacenados.

    Pero si un pirata informático lo consigue, puede afectar a un abanico mucho más amplio de víctimas potenciales: cualquiera que visite un sitio infectado recibirá las secuencias de comandos maliciosas en su navegador. Es por esta razón que los XSS almacenados son casi imposibles de detectar. No hay señales de advertencia que hagan sospechar hasta que es demasiado tarde.

    Secuencia de comandos entre sitios basada en el DOM

    En los ataques de XSS basados en el DOM, los piratas informáticos modifican la interacción entre el navegador y los sitios web que usted visite, alterando la forma en que esos sitios web le devuelven la información que introduzca. Mientras que los ataques de XSS reflejados y almacenados afectan al HTML del lado del servidor, los ataques de XSS basados en el DOM se saltan todo eso y se centran exclusivamente en lo que está haciendo el navegador.

    ¿Recuerda que, como se dijo anteriormente, la mayoría de los sitios usan JavaScript para habilitar la funcionalidad dinámica? Es JavaScript el que gestiona las cosas en su lado y le dice al sitio web cómo reaccionar a sus comandos. Si un pirata informático puede interceptar el proceso por el que su JavaScript del lado del cliente transmite lo que usted introduce en la aplicación web, puede realizar cambios en la forma en que la aplicación se ejecuta dentro del navegador.

    ¿Cómo puedo evitar los ataques de secuencias de comandos entre sitios?

    Por diseño, las secuencias de comandos son procedimientos automatizados que no necesitan que usted intervenga para ejecutarlos. Esta automatización hace que la mayoría de los ataques de XSS sean imposibles de detectar, ya que su navegador no sabrá qué secuencias de comandos son legítimas y cuáles ha inyectado un pirata informático. Los ataques de XSS reflejados son una excepción a la regla: es posible evitarlos como se ha descrito anteriormente.

    Por lo demás, es responsabilidad del administrador de un sitio web encontrar y tapar cualquier vulnerabilidad de XSS antes de que se pueda aprovechar para atacar a los usuarios.

    Defensa contra los ataques de secuencias de comandos entre sitios reflejados

    Con las secuencias de comandos entre sitios reflejadas, el reto del atacante es engañar a la víctima para que haga clic en un enlace envenenado. Pero eso también le da la posibilidad de esquivar este tipo de ataque de XSS, a diferencia de los otros dos tipos. Puede evitar los ataques de XSS reflejados siguiendo una de las mejores prácticas de Internet: no haga clic en enlaces sospechosos.

    Evite los ataques de secuencias de comandos entre sitios no haciendo clic en enlaces sospechosos.

    Ignore los enlaces que encuentre en:

    • Secciones de comentarios de sitios web, foros y tableros de mensajes.

    • Correos electrónicos y mensajes instantáneos de remitentes desconocidos.

    • Publicaciones en redes sociales de gente que no conoce.

    • Mensajes sospechosos de contactos suyos que no actúen normal: pueden haber sufrido un ataque informático.

    Pero incluso esos consejos no son infalibles. Por ejemplo, los piratas informáticos pueden usar la suplantación de identidad para hacer que parezca que sus comunicaciones las envían contactos de confianza. O bien, pueden engañarle para que haga clic con eficaces argucias de ingeniería social. Mantenga siempre la guardia alta en Internet.

    Protéjase contra las secuencias de comandos entre sitios con Avast Free Antivirus

    Los ataques de XSS son notoriamente difíciles de detectar, y no puede confiar en que el navegador le mantenga a salvo. Adopte una postura activa contra los ciberdelincuentes y use una potente solución de seguridad diseñada para detectar y prevenir amenazas de todo tipo.Avast Free Antivirus es una completa herramienta de ciberseguridad en la que confían cientos de millones de personas de todo el mundo. Al supervisar continuamente su dispositivo y su conexión de red en busca de cualquier indicio de problemas, Avast Free Antivirus protege sus valiosos datos incluso contra las técnicas de piratería más furtivas.

    Proteja su Android frente a amenazas

    gratis con Avast Mobile Security

    INSTALACIÓN GRATUITA

    Proteja su iPhone frente a amenazas

    gratis con Avast Mobile Security

    INSTALACIÓN GRATUITA