Method-based access control can be circumvented
Description
This lab implements access controls based partly on the HTTP method of requests. You can familiarize yourself with the admin panel by logging in using the credentials administrator:admin
.
Reproduction and proof of concept
Log in using the admin credentials
administrator:admin
.Browse to the admin panel, promote
carlos
, and send the HTTP request to Burp Repeater.Open a private/incognito browser window, and log in with the non-admin credentials
wiener:peter
.Attempt to re-promote
carlos
with the non-admin user by copying that user’s session cookie into the existing Burp Repeater request, and observe that the response says “Unauthorized”.Change the method from
POST
toPOSTX
and observe that the response changes to “missing parameter”.Convert the request to use the
GET
method by right-clicking and selecting “Change request method”.Change the username parameter to your username and resend the request.
Exploitability
An attacker will need to exploit the flawed access controls to become an administrator.