Mass Assignment Privilege Escalation Lab
Mass Assignment Privilege Escalation Lab
Mass Assignment Privilege Escalation Lab Aplicacion de gestion de tareas donde el endpoint de registro acepta el campo ‘role’ del body de la peticion sin filtrar, permitiendo registrarse directamente como administrador.
La descripción del laboratorio nos da la pista de lo que tenemos que hacer, en algún momento durante el registro el campo ‘role’ se valida, el problema es que no debería validarse en el lado del cliente porque podemos modificarlo.
Comienzo capturando la respuesta del servidor durante el registro, el código de respuesta 201 indica que una request se ha realizado correctamente y normalemente se utiliza para indicar que una entrada se ha creado en el servidor. Hay que prestar atención al hecho de que la respuesta muestra el campo role.
En Burp se utilizar la utilidad match and replace en Zap se llama simplemente replacer. Así que creamos una regla que remplazará el valor user a admin cuando reciba la respuesta.
Ahora volvemos a enviar la request, modificamos un poco el usuario, correo, etc porque si no saldrá un mensaje de que el usuario ya existe, obviamente son claves únicas que no deben repetir en la aplicación. Al enviarla el replacer modificará el role de user a admin.
Tras esto nos logamos con el nuevo usuario creado y vemos que tenemos acceso a un panel de administradores y debajo del nombre de usuario la palabra ADMIN.
Validar la lógica de negocio en el frontend no siempre es buena idea.
