¿Qué es el XSS DOM?

| Última modificación: 20 de mayo de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Qué es el XSS DOM y en qué se diferencia de otros tipos de cross-site scripting?

Actualmente, el hacking ético de aplicaciones web es una de las prácticas más típicas de la ciberseguridad, debido a su alta demanda en compañías y organizaciones. Esta actividad se basa en replicar las técnicas de un hacker malicioso para poner a prueba la seguridad de la aplicación.

¿Qué es el XSS DOM?

Antes de aprender qué es el XSS DOM, es necesario contar con una noción básica sobre qué es DOM.

El DOM o Document Object Model es una interfaz de programación de aplicaciones (API) que permite leer, acceder y modificar el frontend del código fuente de una aplicación web. El DOM representa archivos XML o HTML en una estructura de árbol, basada en la jerarquía de los objetos que componen la página web.

El XSS DOM o basado en DOM es aquel que se realiza inyectando comandos de JavaScript en el DOM de una página web. Una aplicación web vulnerable permite ejecutar código malicioso desde su frontend, debido a una falta de validación de los inputs de un usuario.

Todas las aplicaciones pueden ser representadas por medio de un DOM, al cual se puede acceder por medio de la versión para desarrolladores de la app, que puede ser vista a través de cualquier navegador. Al igual que en el XSS reflejado, el payload de un ataque con XSS DOM puede incrustarse en la dirección URL del sitio. Sin embargo, el fallo de seguridad para este tipo de XSS se halla específicamente en el DOM.

Otros tipos de XSS

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Ya hemos visto qué es el XSS DOM. Ahora, para entender en qué se diferencia de otros tipos de XSS, explicaremos de qué tratan estas alternativas.

XSS reflejado

El XSS reflejado se produce cuando una página web permite, por error, ejecutar código JavaScript por medio de la introducción de datos en una de sus entradas. Este código malicioso, además de poderse inyectar de este modo en el navegador, también se puede incrustar directamente en la URL de la página. Entonces, el enlace puede ser enviado hacia sus víctimas como método de propagación.

Por medio del código JavaScript inyectado en el navegador de la víctima es posible:

  • Obtener su token de sesión de la página.
  • Robar datos financieros.
  • Redireccionar a sitios maliciosos.

XSS persistente

El XSS persistente, a diferencia del reflejado, afecta a todos los usuarios que visiten una página. Es decir, no depende de que se modifique una URL y se le envíe a una persona. En el caso del XSS persistente, no hace falta interactuar con la víctima, lo cual hace que sea un ciberataque más peligroso.

El XSS persistente se basa en ejecutar código malicioso en la aplicación por medio de datos que quedan almacenados en la página. El mejor ejemplo de entradas vulnerables para estos ataques son las secciones de comentarios. Si los inputs de los usuarios en estas secciones no se validan correctamente, permiten ejecutar código JavaScript en el navegador de todos los que visiten el sitio modificado por el atacante.

Ahora sabes qué es el XSS DOM y en qué se diferencia de otros tipos de cross-site scripting. Si quieres aprender más sobre hacking web, en KeepCoding tenemos el curso ideal para ti, con el que podrás especializarte en pocos meses. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en un profesional de la seguridad informática. ¡No sigas esperando e impulsa tus sueños ahora!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado