Demostración de Cross Site Scripting (XSS) utilizando WebGoat

  • Posted on: 14 November 2014
  • By: ReYDeS

Los ataques XSS son posibles cuando un servicio web válido tiene sus peticiones transparentemente encaminados a un servicio web controlado por el atacante, más frecuentemente uno con operaciones maliciosas. El mejor uso para este tipo de ataque es obtener información sobre la sesión de la victima, especialmente si esta es un administrador. Obtenida la información sobre la sesión, es posible alguna veces conducir un ataque de repetición, utilizando la información sobre la sesión para registrar un ingreso en el servidor vulnerable como la victima.

Para el siguiente ejemplo se utilizará la versión 5.4 de WebGoat.

En el panel izquierdo hacer clic en la opción “Cross-Site Scripting (XSS) -> LAB: Cross Site Scripting -> Stage 5: Reflected XSS”.

Se procede a realizar la autenticación utilizando el usuario “Larry Stooge” y la contraseña “larry”. Luego hacer clic en el botón de nombre “Login”

Para editar el perfil ingresar hacer clic en los botones “ViewProfile -> EditProfile”

Mencionar el hecho de estar realizando una interacción con la base de datos, el cual se espera sea vulnerable a un ataque XSS. Para verificar esto se procede a insertar el siguiente código en el campo de nombre “Street” o Calle.

<script>alert("ID de Sesion"+document.cookie)</script>

Hacer clic en el botón de nombre “UpdateProfile”

Una vez actualizado el perfil, aparecerá una ventana de alerta con la información sobre el ID de Sesión. Inyectado satisfactoriamente el Script, solo se debe esperar a la visita de alguien más al perfil del usuario “Larry”. Por ejemplo el usuario “Tom”

En un ataque “real” no se utilizará esta ventana de alarma, el atacante utilizará código javascript insertado en una página HTML para enviarle la ID de Sesión sin el conocimiento de las victimas. Un ataque XSS es altamente efectivo para ganar acceso hacia un sistema o elevar privilegios.

Fuentes:

https://code.google.com/p/webgoat/
https://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project
http://csrc.nist.gov/publications/nistpubs/800-95/SP800-95.pdf

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense