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
carloswith 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
POSTtoPOSTXand observe that the response changes to “missing parameter”.Convert the request to use the
GETmethod 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.