¿Qué es el XSS reflejado?

Autor: | Última modificación: 24 de octubre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

¿Sabes qué es el XSS reflejado y cómo se utiliza en ciberataques web?

El hacking web es uno de los servicios más utilizados en ciberseguridad, ya que millones de compañías utilizan páginas web para conectarse con sus clientes y empleados. Gracias al avance de la tecnología, el uso de aplicaciones web se ha disparado y, asimismo, los servicios de ciberseguridad que se especializan en ellas.

Para hacer un test de penetración web, es necesario conocer las principales vulnerabilidades y vías de ataque que existen para hackear una aplicación. Una buena guía es la lista de OWASP Top 10, que incluye los diez ciberataques más utilizados en entornos web. Aprender cómo funcionan estos ataques es clave para auditar la seguridad de una página.

Dentro de estos diez ataques, la inyección de código malicioso en páginas web ocupa el tercer lugar. Existen diferentes métodos para lograr este efecto y uno de ellos es el cross-site scripting o XSS, que permite ejecutar comandos de JavaScript en el navegador de una víctima al acceder a una aplicación.

En este post, hablaremos sobre uno de los tipos de cross-site scripting más utilizados por hackers maliciosos. A continuación, te explicaremos qué es el XSS reflejado y qué consecuencias puede tener para sus víctimas.

¿Qué es el XSS reflejado?

El XSS reflejado es un tipo de cross-site scripting que se basa en aprovechar entradas vulnerables de la página para ejecutar código malicioso en el navegador de una víctima. El término reflejado se refiere a que el payload solamente se ejecuta en el navegador de quien visita el sitio por medio de una URL determinada, la cual lleva incrustado el código a inyectar.

En el tipo de XSS reflejado, el código malicioso no se ejecuta en el navegador de todos los que visiten una página vulnerable. Para que el efecto se produzca, es necesario que la víctima abra una dirección URL modificada por el atacante.

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

Las vulnerabilidades de XSS reflejado suelen encontrarse en sitios web que imprimen en pantalla los datos ingresados por un cliente. Por ejemplo, si imprime en pantalla en nombre del usuario, después de que este lo ingrese en un campo de la plataforma.

Lo anterior es una vulnerabilidad que permite ejecutar código en el navegador por medio de la aplicación. Para verificar si es posible ejecutar código de este modo, primero se deben enviar pruebas, como comandos para ejecutar letreros de alerta en la pantalla. Una vez se verifique que el fallo existe, se observa cómo se modifica la URL al ejecutar cualquier comando o valor de entrada.

Después, se incrusta el payload directamente en una nueva dirección URL, que al abrirse ejecutará automáticamente el código malicioso en el navegador. De este modo, al saber qué es el XSS reflejado y cómo ejecutarlo, se puede robar diversa información, como la contraseña, el nombre de usuario o el token de sesión del cliente, para suplantar su identidad en la página.

Otros tipos de XSS

Para entender más sobre qué es el XSS reflejado, ahora lo veremos en comparación con otros tipos de XSS: persistente y basado en DOM.

XSS persistente

En el XSS persistente, a diferencia del reflejado, el payload se queda almacenado en la página web, debido a una vulnerabilidad que lo permite. Esto se logra por medio del uso de entradas que se almacenan en las bases de datos de la aplicación, como las secciones de comentarios, por ejemplo.

El motivo por el que estas vulnerabilidades existen, al igual que en los tipos de XSS reflejado y basado en DOM, es por una falta de validación de los inputs del usuario. Esto se puede poner a prueba por medio test y, en caso de notar que se puede ejecutar código de esta forma, los atacantes usarán este método para inyectar código en el navegador de quien visite al sitio web.

XSS basado en DOM

DOM o Document Object Model es una interfaz de programación de aplicaciones (API) que permite representar el código fuente del frontend de una página web en forma de árbol jerárquico. Así, es posible leer, acceder y actualizar información de la página de manera fácil desde el lado del usuario.

La falta de validación de inputs en una página web permite ejecutar comandos en el navegador por medio de esta API. Es decir, cualquier usuario podría modificar el código en el DOM y ejecutar comandos maliciosos de esta manera (en caso de que exista el fallo).

¿Cómo aprender más?

Ahora ya sabes qué es el XSS reflejado, pero aún queda mucho por aprender. Si quieres dominar este ataque para ejecutarlo con fines éticos, te interesará el Ciberseguridad Full Stack Bootcamp, una formación intensiva con la que te especializarás en este ámbito del mundo IT en muy pocos meses. ¡Atrévete a cambiar tu vida y solicita información!

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.