Function Level Access Control can be exploited easily, if there is an missing access control on resource control, exploiting the risk is simple as plugging the URL in browser. Privelance is very common, whereas the detect-ability ratio is Average and impact is Moderate.
Let’s imagine this user is Authenticated as admin, so he making an Authenticated request to the server, and once the server responds this user will have a navigation link in browser for admin. Now if the attacker requested the admin, unfortunately sometimes websites itself return the admin page.
So why it’s the missing function of access level, this is the specific case OWASP talks about. Within the presentation layer only security trimming in place, however the resource behind the link have no access controls.
Understanding missing function Level access controls
- Does the UI show navigation to unauthorized functions?
- Are server side Authentication or authorization tokens missing?
- Are the server side check done solely rely on information provided by the attacker?
- A system or diagnostics resources accessible without proper authorization?
- Will forced browsing disclose unsecured resources?
Common Defenses
- Define a clear authorization model, centrally and consistently.
- Use roles and then apply memberships.
- Check for default framework and resources.
- Check forced browsing with Automated scanners.
- Capture and replay privileged requests.
- Include post request and Async calls.