URL-based access control can be circumvented

https://portswigger.net/web-security/access-control/lab-url-based-access-control-can-be-circumvented

Let's try to access the admin panel.

Since we are proxying the traffic through Burp Suite, we can go to Proxy > HTTP History to view the request.

Let's forward the request to the Repeater for further modification.

Once inside the Repeater, set the request URI to:

/

And add the following request header:

X-Original-URL: /admin

This header overrides the URI present in the original request.

In order to delete the carlos user, we have to set the original URL to:

/?username=carlos

And modify the header to the following:

X-Original-Url: /admin/delete

Let's go and check the panel through the browser.

We have solved the lab.

Last updated

Was this helpful?