Nuestro objetivo es entrar como «administrator» y eliminar al usuario «carlos». Al entrar nos encontramos con la estructura de una tienda online que, tras explorar, vemos que tiene un apartado de «My account», donde podemos iniciar sesión o indicar que hemos olvidado la contraseña.

Una vez realizadas todas las acciones posibles, las exploramos en el proxy de Burp Suite:

Las más interesantes para este laboratorio son /login y /forgot-password, que son las que contienen parámetros que pueden susceptibles a ser modificados. De hecho en el javascript utilizado por /forgot-password, se menciona un parámetro necesario, ‘reset token’.

Seleccionamos la petición de /forgot-password y la enviamos al repetidor con Click derecho + Send to repeater. Una vez aquí, iniciamos la contaminación del parámetro. Si probamos añadiendo ‘#’ codificado como URL (con Ctrl + U o Click derecho -> Convert selection -> URL -> URL encode) detrás de administrator para comentar el resto de la solicitud, veremos que la API nos indica que falta por especificar el campo ‘field’:

Lo más probable es que internamente, la API necesite que se le envíe un campo llamado ‘field’ con el que trabajar, si lo declaramos nosotros en la petición, podremos ver que sólo funciona con campos que existan dentro de la API, y que nos devuelve la información que contiene de este campo

Por lo que probamos a pedirle información sobre el token para resetear la contraseña y nos la proporciona:

Creamos la URL en el navegador y nos permitirá modificar la contraseña del administrador:

Una vez realizado el login, podremos acceder al panel de control y borrar al usuario carlos, completando así el laboratorio:

Deja una respuesta

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