¿Qué es el XSS persistente?

| Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

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

Actualmente, la mayoría de empresas y organizaciones necesitan tener aplicaciones web efectivas, eficientes y seguras para prestar sus servicios. Con el avance de la tecnología, estas plataformas en línea son cada vez más importantes. En consecuencia, el hacking ético de sitios web es una de las áreas con mayor campo de acción dentro de la ciberseguridad, ya que ayuda a mantener seguras las aplicaciones.

Para hacer un test de intrusión en un sitio web, es necesario conocer los principales fallos de seguridad y cómo explotarlos. En aras de adquirir estas habilidades, existen entornos virtuales de práctica que permiten poner en práctica técnicas de ataques web. Una buena guía para realizar un pentest web, es la lista de OWASP Top 10, que contiene los diez ciberataques más utilizados para hackear páginas web actualmente.

Dentro de ellos, uno de los ciberataques más comunes es la inyección de código malicioso en el navegador de una víctima por medio de una aplicación vulnerable. Esto es posible por medio de un tipo de ataque conocido como cross-site scripting o XSS. Sin embargo, existen diferentes tipos de cross-site scripting, como veremos más adelante.

En este post, hablaremos sobre un tipo de cross-site scripting que es, quizás, el más peligroso de todos. A continuación, te explicaremos qué es el XSS persistente y cómo se suele usar este ataque contra aplicaciones web vulnerables.

¿Qué es el XSS persistente?

El cross-site scripting (XSS), como decíamos antes, es un ataque que permite inyectar código malicioso en el navegador de una víctima por medio de una vulnerabilidad en una aplicación. El XSS persistente es un tipo de cross-site scripting que permite hacer ejecución de código en el navegador de todos los que visiten un sitio web vulnerado.

🔴 ¿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

Para entender qué es el XSS persistente, es clave recordar que, en este, el código malicioso se almacena en la base de datos de la página web y lo ejecuta en el navegador de todo aquel que visite el sitio. Esto se logra, en esencia, gracias a una falta de validación del input de los usuarios en entradas cuyos valores quedan almacenadas en la aplicación.

El XSS persistente permite ejecutar código JavaScript, que cualquier navegador web puede entender. Por lo tanto, se pueden ejecutar payloads para redireccionar a la víctima a sitios maliciosos o robarle su información de inicio de sesión para suplantar su identidad. Este tipo de XSS podría clasificarse como el más peligroso, ya que no requiere una interacción directa con la víctima, lo cual hace más fácil que el ataque llegue a más usuarios.

Otros tipos de XSS

Ya hemos visto qué es el XSS persistente y por qué es supone tanto riesgo para un sitio web. Ahora, veremos más tipos de XSS y en qué se diferencian con el que acabamos de explicar.

XSS reflejado

Las vulnerabilidades XSS siempre se basan en una deficiencia en la validación del input de un usuario. Una de las más comunes es la de imprimir en pantalla un valor ingresado por un usuario en la página web, ya que esto permite la ejecución de código JavaScript.

De hecho, en el XSS reflejado, el código malicioso se puede incrustar directamente en la URL, para que la víctima que abra un enlace con ella se vea afectada. Por medio de este ataque, es posible robar credenciales, tokens de sesión e, incluso, información sobre tarjetas de crédito.

XSS basado en DOM

El XSS basado en el DOM es un ataque de cross-site scripting que no se encuentra reflejado ni almacenado en la aplicación. El DOM (Document Object Model) es una interfaz de programación de aplicaciones (API) que permite leer, acceder y actualizar el frontend del código fuente de una aplicación. El XSS basado en DOM permite ejecutar código JavaScript malicioso desde el DOM, modificando el código fuente de la página desde el lado del cliente.

El XSS basado en DOM también permite incrustar el payload en la URL para enviarle la dirección a una víctima y ejecutar código malicioso en su navegador. Sin embargo, a diferencia del XSS reflejado, las vulnerabilidades explotadas para este tipo de ataque se encuentran en una falta de validación de los inputs del usuario en el DOM.

¿Cómo aprender más?

Ahora sabes qué es el XSS persistente y en qué se diferencia de otros tipos de cross-site scripting. Si quieres aprender más sobre técnicas de hacking web, en KeepCoding tenemos el curso intensivo perfecto para especializarte en tan solo 7 meses. Con nuestro Ciberseguridad Full Stack Bootcamp te formarás en la teoría y la práctica de este ámbito para destacar en el mercado laboral IT. ¡No sigas esperando para cambiar tu vida e inscríbete ya!

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