.jpg)
Artículo · Pentesting
Secuencia de Comandos en Sitios Cruzados (xss)
Descripción
Un atacante puede inyectar código HTML o Javascript en una aplicación que no tenga una validación al momento de enviar la información. Esta vulnerabilidad tiene la particularidad que se ejecuta el código en el momento que el usuario ingresa al sitio.
Tipos de XSS
Principalmente hay tres tipos de XSS y se catalogan según la manera en que operan:
- XSS reflejado: un atacante envía un enlace que re-dirige al sitio afectado por la vulnerabilidad. Este enlace contiene el código incrustado que se ejecutará cuando la víctima abra el enlace.
- XSS persistente: Un atacante inserta un script que permanece en el sitio web y cada que un usuario visite el sitio web, ejecutará el código en su navegador
-
XSS en objetos DOM: Este ataque no requiere de peticiones HTTP, el script incrustado es el resultado de modificar el DOM del sitio Web y se ejecuta en el navegador de la víctima
Principales riesgos de esta vulnerabilidad
- Control total del equipo de un usuario
- Modificar el contenido del sitio web vulnerable
- Redirigir a los usuarios a sitios de terceros
- Ejecutar código de manera remota sobre el equipo de la víctima
- Obtener información de controles de acceso (Usuarios, contraseñas o cookies)
Explotando un XSS reflejado
Para explotar un XSS reflejado, insertamos el siguiente código javascript en el sitio vulnerable
<script>alert (“Vulnerabilidad #3”);</script>
Pagina vulnerable a inyecciones de código XSS
La inserción del código puede ser mediante los métodos GET ( en la URL del sitio ) o POST ( en algún campo del sitio), según se ale caso. Para este demo realizaremos la inserción en el campo de búsqueda.
Boton vulnerable a la inyección de código
Al presionar el botón “Go” nos aparece una ventana de alerta con la leyenda “Vulnerabilidad #3”
Redirigiendo al usuario a otro sitio mediante un XSS reflejado
Un atacante puede aprovechar la vulnerabilidad anterior para redirigir al usuario hacia un sitio en especifico. En este caso usaremos una imagen.
La redirección se realiza mediante el comando
<script>document.location=”url_a_visitar”</script>
En este caso estamos utilizando el mismo sitio de pruebas para realizar la explotación
Cuando se ejecuta el código en el navegador, automáticamente nos redirige a la imagen que seleccionamos.
Mensaje al vulnerar al sitio
Robo de sesiones mediante XSS
Un atacante puede extraer la información de la sesión de un usuario mediante esta vulnerabilidad. Es posible generar una alerta con las cookies de sesión. Para explotar esta vulnerabilidad usaremos el siguiente código Javascript
<script>alert(document.cookie);</script>
Insertaremos el código en el campo de búsqueda
Pagina vulnerable
Al dar clic sobre el botón “Go” es posible extraer mediante javascript las cookies del usuario

Robo de cookies
¿Quieres aprender estas técnicas en profundidad?
Continúa tu ruta con Penetration Testing Student.
Escrito por
Misael BanalesPenetration Testing And Ethical Hacking
Ingeniero en Computación. En mis años de experiencia en Seguridad Informática he realizado múltiples pruebas de penetración y hacking ético para organizaciones de gobierno, industria pública y privada. He brindado servicios de auditoria en ISO 27001 y he apoyado a empresas en la gestión de gobierno de IT.



