Access Control

Access control is the application of constraints on who or what is authorized to perform actions or access resources.

Access Control can be any of:

  • Authentication confirms that the user is who they say they are.

  • Session management identifies which subsequent HTTP requests are being made by that same user.

Access control determines whether the user is allowed to carry out the action that they are attempting to perform.

Vertical access controls are mechanisms that restrict access to sensitive functionality to specific types of users (For example, an administrator might be able to modify or delete any user's account, while an ordinary user has no access to these actions.)

Horizontal access controls are mechanisms that restrict access to resources to specific users (For example, a banking application will allow a user to view transactions and make payments from their own accounts, but not the accounts of any other user.)

Context-dependent access controls restrict access to functionality and resources based upon the state of the application or the user's interaction with it (For example, a retail website might prevent users from modifying the contents of their shopping cart after they have made payment.)

Access Control can be detected using IDORs.

Often, a horizontal privilege escalation attack can be turned into a vertical privilege escalation, by compromising a more privileged user.

Last updated