Cross-site Scripting (XSS): What Is It and How to Fix it for WordPress?

Cross-site Scripting (XSS): ¿qué es y cómo solucionarlo?

Siendo una de las amenazas de ciberseguridad más comunes, las secuencias de comandos entre sitios (XSS) casi atacan 75% de las grandes empresas en 2019. Además, casi el 40% de todos los ataques cibernéticos tenían como objetivo las vulnerabilidades XSS.

Las secuencias de comandos entre sitios han afectado a los sitios web operados por gigantes de la web como eBay, Google, Facebook y Twitter. Pero las secuencias de comandos entre sitios no son una nueva amenaza cibernética. De hecho, los ataques XSS han existido casi desde los albores de la web.

Para ayudarlo a prevenir ataques XSS, esta guía se enfoca en todo lo que necesita saber acerca de las secuencias de comandos entre sitios. Después de leer esta guía, tendrá una mejor idea de cómo funciona la secuencia de comandos entre sitios y cómo puede proteger su sitio web de WordPress.

¿Qué es Cross-site Scripting (XSS)?

Ataques XSS de secuencias de comandos entre sitios

Cross-Site Scripting (XSS) se refiere al tipo de ciberataque en el que se inyectan scripts maliciosos en sitios web que de otro modo serían creíbles y confiables.

Los ataques de secuencias de comandos entre sitios son posibles en HTML, Flash, ActiveX y CSS. Sin embargo, JavaScript es el objetivo más común de los ciberdelincuentes porque es fundamental para la mayoría de las experiencias de navegación.

JavaScript es un lenguaje de programación que le permite implementar funcionalidades complejas en su sitio web. La mayoría de los sitios web interactivos de gran tamaño se crearon con JavaScript. “Puede desarrollar funciones interactivas locales, juegos o agregar funciones adicionales para comercializar mejor sus productos”, dijo Domantas Gudeliausk como gerente de marketing de Zyro proyecto.

JavaScript es tan popular dentro de la comunidad web porque le permite hacer prácticamente cualquier cosa en una página web. Y aquí es donde se vuelve problemático. Los ciberdelincuentes pueden usar JavaScript para iniciar sesión en la parte posterior de sus páginas web e insertar scripts maliciosos.

¿Cómo funciona la secuencia de comandos entre sitios?

Los ciberdelincuentes pueden realizar ataques XSS de dos formas en los sitios web de WordPress. Pueden explotar la entrada del usuario o eludir las políticas del mismo origen. Echemos un vistazo a ambos métodos para comprender mejor las secuencias de comandos entre sitios.

Manejo de entradas de usuario

La forma más común de que los ciberdelincuentes realicen ataques XSS es explotar la entrada del usuario. La mayoría de los sitios web de WordPress tienen campos de entrada del usuario, como barras de búsqueda, formularios de comentarios, páginas de inicio de sesión y formularios de contacto. El campo de entrada generalmente se activa mediante el complemento de WordPress con JavaScript o el tema activo en su sitio web.

El problema es que no todos los complementos y temas de WordPress son 100% seguros y muchos de ellos tienen vulnerabilidades XSS. Esto significa para usted que los ciberdelincuentes pueden utilizar las vulnerabilidades de WordPress en los campos de entrada para realizar actividades maliciosas.

Idealmente, una barra de búsqueda del sitio (u otro campo de entrada del usuario) solo debería aceptar texto sin formato, no comandos, como entrada. Sin embargo, WordPress tiene una vulnerabilidad de entrada del usuario, que permite a los piratas informáticos introducir un código ejecutivo en el campo de entrada y enviarlo a la base de datos.

Elusión de políticas del mismo origen

La misma política de origen restringe una página para recuperar información de otras páginas web. Como parte de la política, los navegadores web permiten que los scripts de la primera página web accedan a los datos de una segunda página web solo si comparten el mismo origen. Esto es para garantizar que no se realicen solicitudes entre sitios.

La política establece que si su página de Facebook y la banca en línea están abiertas en el mismo navegador, los dos sitios web no pueden compartir información entre sí. Aún así, si tiene varias pestañas de Facebook (que comparten el mismo origen) abiertas, pueden intercambiar scripts y otros datos entre sí.

Políticas del mismo origen

A pesar de la política del mismo origen y otras medidas de seguridad tomadas para evitar solicitudes entre sitios, los ciberdelincuentes han encontrado una manera de eludir la política mediante el uso de cookies de sesión. Funciona porque cada vez que abre un navegador, genera una cookie de sesión para validarlo como usuario del sitio web y ayudarlo a pasar de una página a otra sin problemas.

Las cookies de sesión almacenan información de inicio de sesión (incluso para su sitio de WordPress), información de tarjetas de crédito, detalles de envío y otros datos confidenciales. Así es como funciona. Supongamos que desea iniciar sesión en su cuenta bancaria en línea. Cuando abre el sitio web, se genera una cookie de sesión. Si no hubiera cookies de sesión, deberá iniciar sesión en su cuenta bancaria en línea cada vez que desee cambiar de página.

No es raro que los navegadores de los usuarios tengan vulnerabilidades. Y si lo hay, los ciberdelincuentes utilizan el código que inyectaron en la entrada del usuario para robar las cookies de sesión. De esta forma, los piratas informáticos pueden robar cookies de todos los sitios web abiertos en el navegador del usuario. Luego, estas cookies se pueden usar para iniciar sesión en las cuentas de los usuarios para hacerse pasar por ellos y robar datos financieros.

¿Por qué son peligrosos los scripts entre sitios?

La secuencia de comandos entre sitios es una de las vulnerabilidades de WordPress de alto riesgo más comunes. Los ataques XSS son tan comunes porque, a diferencia de otras vulnerabilidades de seguridad, son muy complejos de tratar. Incluso cuando tiene protección incorporada, es muy fácil cometer errores que permitan la creación de secuencias de comandos entre sitios. Un solo error en el código HTML o JavaScript de su página web puede dejar su sitio web vulnerable a ataques de secuencias de comandos entre sitios.

Cuando los atacantes encuentran una manera de explotar las vulnerabilidades XSS, pueden robar credenciales de cuentas, datos financieros y facilitar estafas de phishing. También pueden propagar gusanos informáticos o acceder a las computadoras de los usuarios de forma remota. Además, los ataques XSS permiten a los piratas informáticos hacer lo siguiente:

  • Hackear cuentas de usuario
  • Difundir malware
  • Controlar la computadora del usuario de forma remota
  • Analizar y operar aplicaciones de intranet

Los ataques XSS generalmente se consideran menos peligrosos que las inyecciones de SQL. Sin embargo, cuando se combina con la ingeniería social, las secuencias de comandos entre sitios permiten a los ciberdelincuentes lanzar ataques avanzados y extremadamente peligrosos, que incluyen la plantación de caballos de Troya, el registro de teclas, el phishing, el robo de correo electrónico, la identidad y la falsificación de solicitudes entre sitios.

Para combatir los ataques XSS, las grandes empresas de TI están lanzando programas especiales de recompensas por errores. Estos programas son implementados por muchas organizaciones y brindan compensación o reconocimiento a los usuarios que reportan vulnerabilidades XSS en scripts. De esta forma, las empresas invierten en ciberseguridad pidiendo a otros desarrolladores que identifiquen sus errores. Google incluso lanzó un Jue donde puede practicar el envío de errores XSS.

Juego de Google XSS

Tipos de ataques XSS

Hay tres tipos principales de ataques de secuencias de comandos entre sitios: XSS reflectante, almacenado y DOM. Para tener una mejor perspectiva de cómo funciona XSS, echemos un vistazo a cada tipo de vulnerabilidad XSS.

Secuencia de comandos entre sitios almacenada

Una vulnerabilidad almacenada XSS (también conocida como Persistente o Tipo I) ocurre cuando la entrada del usuario se almacena en una base de datos, campo de comentarios, registro de visitantes u otros servidores de destino. Y luego una víctima puede recuperar los datos almacenados (que no se procesaron de manera segura en el navegador) desde la aplicación web. De esta manera, cuando un hacker realiza un ataque, la carga útil no es visible para el filtro XSS del navegador y las víctimas pueden activar accidentalmente la carga útil si visitan la página afectada.

Se refleja la secuencia de comandos entre sitios

Una vulnerabilidad XSS reflejada (también conocida como No persistente o Tipo II) ocurre cuando una aplicación web devuelve inmediatamente la entrada del usuario en un resultado de búsqueda, mensaje de error u otra respuesta. En este caso, los datos de entrada del usuario se reflejan sin almacenarse, lo que permite a los piratas informáticos inyectar scripts XSS maliciosos. A diferencia del XSS almacenado, el XSS reflejado se dirige al sitio web en sí en lugar de a los visitantes del sitio web.

XSS basado en DOM

La vulnerabilidad XSS basada en TA DOM (también conocida como Tipo 0) ocurre en el Modelo de objetos de documento (DOM) en lugar de en la parte HTML. La fuente donde se lee el código malicioso puede ser una URL o un fragmento particular de HTML.

¿Cómo se evitan los ataques de secuencias de comandos entre sitios?

Los mejores complementos de seguridad de WordPress

Ahora que ha cubierto los conceptos básicos de XSS, echemos un vistazo a las formas comprobadas de prevenir ataques XSS.

Hay varias formas de proteger su sitio web de WordPress de los ataques XSS. Si tiene experiencia técnica avanzada, puede agregar fragmentos para validar y limpiar la entrada del usuario. Sin embargo, si no está familiarizado con la parte técnica de WordPress, lo mejor es delegar el trabajo a su equipo técnico o contratar a un profesional que pueda tomar estos pasos por usted.

Mientras tanto, hay dos cosas que puede hacer para evitar ataques de secuencias de comandos entre sitios.

Instalar un complemento de seguridad

La instalación de un complemento de seguridad de WordPress es el primer paso hacia la máxima seguridad de su sitio web de WordPress. Al elegir un complemento de seguridad, utilice esta lista de verificación como referencia para asegurarse de que el complemento tenga las funciones necesarias para mantener su sitio web seguro.

  • Un complemento escanea regularmente su sitio web en busca de malware.
  • Un complemento utiliza cortafuegos para bloquear cualquier tráfico que parezca malicioso.
  • Un complemento es capaz de implementar medidas de refuerzo de WordPress.
  • Un complemento le permite administrar todas las actualizaciones de WordPress.
  • Un complemento hace una copia de seguridad de su sitio web de WordPress, por lo que, en caso de un ataque, puede restaurar su sitio web.

Instalar un complemento dedicado

La instalación de un complemento anti-XSS es otra forma de evitar las secuencias de comandos entre sitios. Los complementos Anti-XSS funcionan bloqueando los parámetros que se usan comúnmente en los ataques de secuencias de comandos entre sitios. Por ejemplo, estos complementos pueden proteger los campos de entrada del usuario, como los formularios de comentarios de su sitio web, los campos de inicio de sesión o las barras de búsqueda.


La línea de fondo – 39% de todas las vulnerabilidades de WordPress están relacionados con problemas de secuencias de comandos entre sitios. Las empresas pierden millones de dólares tratando de combatir las consecuencias de los ataques de secuencias de comandos entre sitios. Para evitar ataques XSS dirigidos a su sitio web, es importante comprender qué es la secuencia de comandos entre sitios y tomar medidas preventivas.

Para proteger su sitio web de las secuencias de comandos entre sitios, debe validar y limpiar sus campos de entrada. Además, puede instalar complementos dedicados de seguridad y anti-XSS que lo ayudarán a proteger su sitio web de WordPress.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba