Access Control Vulnerabilities Lab 3
Skills
- User role controlled by request parameter
Certificaciones
- eWPT
- eWPTXv2
- OSWE
- BSCP
Descripción
Este laboratorio
tiene un panel de administración
en /admin
, que identifica a los administradores
utilizando una cookie falsificable
. Para resolver
el laboratorio, hay que acceder
al panel de administración
y eliminar
al usuario carlos
. Podemos iniciar sesión
en nuestra cuenta con las credenciales wiener:peter
Resolución
Al acceder
a la web
nos sale esto
Pulsamos en My account
y nos logueamos con las credenciales wiener:peter
Fuzzeamos
rutas y encontramos una llamada /admin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# ffuf -c -t 20 -w /usr/share/seclists/Discovery/Web-Content/common.txt -u https://0a050019046d30238088b7a600ee00f4.web-security-academy.net/FUZZ
/'___\ /'___\ /'___\
/\ \__/ /\ \__/ __ __ /\ \__/
\ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
\ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
\ \_\ \ \_\ \ \____/ \ \_\
\/_/ \/_/ \/___/ \/_/
v2.1.0-dev
________________________________________________
:: Method : GET
:: URL : https://0a050019046d30238088b7a600ee00f4.web-security-academy.net/FUZZ
:: Wordlist : FUZZ: /usr/share/seclists/Discovery/Web-Content/common.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 20
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________
ADMIN [Status: 401, Size: 2588, Words: 1049, Lines: 54, Duration: 66ms]
Admin [Status: 401, Size: 2588, Words: 1049, Lines: 54, Duration: 56ms]
Login [Status: 200, Size: 3163, Words: 1315, Lines: 64, Duration: 53ms]
admin [Status: 401, Size: 2588, Words: 1049, Lines: 54, Duration: 54ms]
analytics [Status: 200, Size: 0, Words: 1, Lines: 1, Duration: 139ms]
favicon.ico [Status: 200, Size: 15406, Words: 11, Lines: 1, Duration: 61ms]
filter [Status: 200, Size: 10717, Words: 5065, Lines: 199, Duration: 56ms]
login [Status: 200, Size: 3163, Words: 1315, Lines: 64, Duration: 58ms]
logout [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 54ms]
my-account [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 55ms]
Si accedemos a /admin
nos muestra
este mensaje
Si interceptamos
la petición
mediante Burpsuite
vemos que hay un parámetro Admin=False
Cambiamos el parámetro a Admin=true
, hacemos click izquierdo
y seleccionamos la opción Show response in browser
. Al acceder se nos muestra el panel administrativo
Si pulsamos sobre Delete
nos llevará a https://0a050019046d30238088b7a600ee00f4.web-security-academy.net/admin/delete?username=carlos
pero no se eliminará
el usuario
. Para que el usuario
se elimine
debemos hacer la petición desde Burpsuite
con el parámetro Admin=True
Otra opción sería cambiar
el parámetro
directamente en el navegador