Passion
  • What is this GitBook about ?
  • Privilege Escalation
    • Linux
    • Windows
  • Network Security
    • Port Scanning
    • DNS Enumeration
    • FTP Enumeration
    • SSH Enumeration
    • SMB Enumeration
    • SMTP Enumeration
    • POP3 Enumeration
  • Checklists
    • Active Directory Security
    • OS Command Injection
    • Buffer Overflow
    • Broken Access Control
    • Local File Inclusion
    • SSRF
    • XXE Attacks
    • SQL Injection
    • XSS
  • WebApp Security
    • Local File Inclusion
    • File Upload Attacks
      • IIS Server File Upload
      • Escaping Sandbox via File Upload
    • Broken Access Control
      • Vertical PrivEsc
      • Horizontal PrivEsc
      • Horizontal => Vertical
    • OS Command Injection
    • SSTI
      • Finding the Injection Point
      • Indentification
      • Exploitation
    • XXE Attacks
      • XXE to LFI
      • XXE to SSRF
      • XXE via File upload
      • XInclude Attacks
      • Blind XXE Attacks
        • Identification
        • Exploitation
        • Blind XXE to LFI
        • Blind XXE by defining Local DTD
    • SQL Injection
    • Server Side Request Forgery
      • Various Attack Methods
      • Exploiting Blind SSRF
    • OAuth Attacks
      • In Password-Based Logins
    • XSS
      • Reflected XSS
      • Stored XSS
      • DOM XSS
      • Blind XSS
      • Perfecting our Payload
      • Exploiting Blind XSS
  • WebApp Mitigations
    • SSTI
  • Docker Security
    • Configuration
    • Ngnix Deployment
  • ☁️Cloud Security
    • AWS
      • Cloud Breach S3
      • IAM PrivEsc - RollBack
      • IAM PrivEsc - Attachment
Powered by GitBook
On this page
  • Vertical Access Control
  • Horizontal Acess Control
  • Context-dependent Access Control
  • Broken Access Control
  • IDOR - Indirect Object Reference
  • Insecure Direct Object Reference
  • Access control in multi-step processes
  • Referer-Based access control
  1. WebApp Security

Broken Access Control

Access control tells us whether the logged in user is allowed to carry out the action, that they are attempting to perform.

=> Vetical AC => Horizontal AC => Context-dependent AC

Vertical Access Control

These access control models restrict access to sensitive functionality that is not available to other users.

An administrator might be able to modify or delete any user's account, while an ordinary user has no access to these actions.

Horizontal Acess Control

These access control models restrict access to resources to the users who are specifically allowed to access those resources.

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 Control

These access control models restrict access to functionality and resources based upon the state of the application or the user's interaction with it.

A retail website might prevent users from modifying the contents of their shopping cart after they have made payment.

Broken Access Control

Broken access control vuln exists when there is no restriction between the user's end and the application, which means a normal user can perform tasks which he's not restricted to.

IDOR - Indirect Object Reference

IDOR - Insecure Direct Object Reference

This vulnerability arises when an application uses user-supplied input to access objects.

The attacker can modify the input to obtain UNAUTHORIZED access to pages or any sensitive information.

Insecure Direct Object Reference

This lab stores user chat logs directly on the server's file system and retrives them using url's

Login using weiner:peter and try to tamper the ?username=carlos, so that any password leaks are possible.

There's a new option available called live chat, which enables us to text with a bot and when we try to view the transcript, our conversation with the bot gets downloaded in a .txt format.

It gets downloaded in an incrementing order. Now when we intercept any one request and try to tamper the .txt to 1.txt, we get a text file which leaks the password for carlos.

Access control in multi-step processes

Modern Access Control Systems depends on a series of steps :

Loads the form containing details of a regular user

Submit changes

Review changes and confirm

Suppose some control systems are correctly applied to the first and second steps, but not to the third step.

The website's logic will be like, if the user completes the first two steps[ which are properly controlled ] only then he'll reach the third step.

Here the attacker can easily bypass the first two steps and directly jump to the third step with the required parameter.

Logging in with the admin credentials will let us to upgrade a normal user to attain admin privileges.

Upgrading the carlos user to admin, send the confirmation POST request to the repeater.

Now logging in using a normal user's creds and sending any GET or POST request to the repeater, just to note down the Session-Cookie ID.

Now replace the cookie in the POST request [In the second step], with the normal user's cookie and forward the request. This will give us admin privileges.

Referer-Based access control

Some access controls are based on Referer header submitted in the HTTP request.

The Referer header is added to the requests by the browser to indicate the page from which a request was initiated.

Suppose a website checks only for the /admin, and not what appends after that - /admin/deleteUser only inspects the Referer header.

If the Referer header contains the main /admin URL, then the request is allowed.
PreviousEscaping Sandbox via File UploadNextVertical PrivEsc

Last updated 2 years ago

PortSwigger Exercises
PortSqigger Exercises
PortSwigger Exercises