Broken Access Control
Users can act outside of their intended permissions, typically leading to unauthorized information disclosure, modification, or destruction of data. The most common ways in which it's presented are:
IDOR: Insecure Direct Object Reference, when an application fails to secure access to restringed data to a user
Weak authorization: Fail to protect sensitive content. For example, secure the admin page with a readable cookie
Security through obscurity: Try to hide secret information in paths that seem not to be visible
File Inclusion: Setting routes via URL to access system files or redirecting to other pages
We can find some typical example of this vulnerability as follows:
URL contains an enumeration of internal objects
#It is searching for an object with id=2
http://$url/id/2
#We can assume that existing id=1 or any number and try to get it
http://$url/id/$number #This could show objects normally hidden from the user
The standard robots.txt file could reveal sensitive routes
#Navitgate to the file
http://$url/robots.txt
#Example output
User-agent: *
Disallow: /administrator-panel
Even if there are attempts of Security Through Obscurity, we could check the source code for hardcoded values
<script>
var isAdmin = false;
if (isAdmin) {
...
var adminPanelTag = document.createElement('a');
adminPanelTag.setAttribute('href', 'https://$url/admin-yb556');
adminPanelTag.innerText = 'Admin panel';
...
}
</script>
It can also be parameter-based if controlling the privileges or roles through a parameter under the URL or the request
#On the URL
https://$url/login/?admin=true
#On the request parameters
GET /admin HTTP/2
Host: $host
Cookie: session=$request; Admin=true #Request Parameter
...
Last updated