Mass Assignment Attacks
API3-Broken Object Property Level Authorization (BOPLA)
Last updated
API3-Broken Object Property Level Authorization (BOPLA)
Last updated
Using a browser, submit data for creating a new account in crAPI.
Set FoxyProxy to proxy traffic to Burp Suite.
Submit the form and ensure the request is intercepted with Burp Suite.
Send the intercepted request to Repeater for further analysis.
Before any attacks, submit a successful request to establish a baseline.
Test the registration process for mass assignment.
Attempt to upgrade an account to an administrator role by adding variables used to identify admins.
If no admin documentation is available, try adding variables like:
"isadmin": true
"isadmin": "true"
"admin": 1
"admin": true
Analyze API responses for any indications of success or failure.
Use Intruder to test various options by placing attack positions around the "isadmin" and "true" values.
Set the attack type to cluster bomb and add payloads for positions 1 and 2.
Review results for any unique findings.
Ensure Param Miner is installed as a Burp Suite extension.
Right-click on a request to mine parameters using Param Miner.
Configure Param Miner options and click OK.
Navigate to Extender-Extensions, select Param Miner, and check the Output tab for results.
Insert any new parameters detected back into the original request and fuzz for results.
Mass assignment attacks extend beyond becoming an administrator.
Explore unauthorized access to other organizations.
If user objects include organizational groups, attempt to gain access to those groups.
Example: Add an "org" variable to the request and fuzz its value to potentially gain unauthorized access.
Analyze the target API collection for requests that:
Accept user input.
Have the potential to modify objects.
Create a new collection for mass assignment testing to avoid damaging the original collection.
Duplicate interesting requests and update unresolved variables.
Understand the purpose of each request in the API collection.
Test other endpoints used for updating accounts, group information, user profiles, company profiles, etc.