Broken Access Control
What is Broken Access Control
Access control, sometimes called authorization, is how a web application grants access to content and functions to some users and not others. These checks are performed after authentication, and govern what ‘authorized’ users are allowed to do. A web application’s access control model is closely tied to the content and functions that the site provides. In addition, the users may fall into a number of groups or roles with different abilities or privileges.
This lab helps us to understand one of the authentication flaws which leads to an attacker gaining
unauthorized control of an account.
On accessing the lab the user is provided with a simple login in page which requires a username and
password.
The credentials for the user Jack is jack:jacktheripper.
Use the above info to log in.
The main aim of this lab is to login with admin privileges to get the secret key.
Exploiting the Broken Access
- Every time a valid user logs in,the user session is set with a cookie called
admin - When you notice the cookie value when logged in as
jackit is set to 0 - Use BurpSuite to intercept the request change the value of the admin cookie from 0 to 1
- This should log you in as a admin user and display the secret key
Mitigation
- Using proper Session management techniques
- Using Tokens such as JWT to authorize the users.
- Unless a resource is intended to be publicly accessible, deny access by default
- Thoroughly audit and test access controls to ensure they are working as designed