Products

Solutions

Resources

Search for API Security Tests

/

/

BOLA in old api versions

BOLA in old api versions

Attacker can access resources of any user by changing the auth token in request and using older version of an API

Broken Object Level Authorization (BOLA)

"Unpatched old api versions were found for this endpoint. The original request was replayed by changing the version of the endpoint (For example: the request url was changed from <b>www.example.com/dfsh/v5/fd</b> to <b>www.example.com/dfsh/v1/fd</b>). The server responded with 2XX success codes.<br><br>" "The old API versions found appears to be vulnerable to broken object level authorization attack. The original request was replayed with attacker's auth token. The server responded with 2XX success codes and greater than <b>{{percentageMatch}}%</b> of the response body matched with original response body. Also, the endpoint had atleast one private resources in request payload.<br><br>" "<b>Background:</b> Old API versions are usually unpatched and are vulnerable to attacks such as BOLA. Object level authorization is an access control mechanism that is usually implemented at the code level to validate that one user can only access objects that they should have access to."

"Unpatched old api versions were found for this endpoint. The original request was replayed by changing the version of the endpoint (For example: the request url was changed from <b>www.example.com/dfsh/v5/fd</b> to <b>www.example.com/dfsh/v1/fd</b>). The server responded with 2XX success codes.<br><br>" "The old API versions found appears to be vulnerable to broken object level authorization attack. The original request was replayed with attacker's auth token. The server responded with 2XX success codes and greater than <b>{{percentageMatch}}%</b> of the response body matched with original response body. Also, the endpoint had atleast one private resources in request payload.<br><br>" "<b>Background:</b> Old API versions are usually unpatched and are vulnerable to attacks such as BOLA. Object level authorization is an access control mechanism that is usually implemented at the code level to validate that one user can only access objects that they should have access to."

Impact of the vulnerability

Impact of the vulnerability

Unauthorized access can result in data disclosure to unauthorized parties, data loss, or data manipulation. Unauthorized access to objects can also lead to full account takeover.

Unauthorized access can result in data disclosure to unauthorized parties, data loss, or data manipulation. Unauthorized access to objects can also lead to full account takeover.

How this template works

APIs Selection

The API selection filters in this template specify the criteria for selecting the API endpoints to be tested. In this case, the filters include checking that the response code is between 200 and 299 (indicating a successful response) and using a regular expression to match URLs that contain a version number greater than or equal to 2.

Execute request

The execute section of the template defines the actions to be performed on the selected API endpoints. In this case, it includes modifying the URL of the request by replacing the version number with "v1". This is done using a regular expression replacement.

Validation

The validation section specifies the criteria for validating the responses received from the modified requests. In this template, the validation includes checking that the response code is between 200 and 299 and ensuring that the endpoint is not considered in the traffic context.

Frequently asked questions

What is the purpose of the regular expression "v([2-9]\\d*|\\d{2,})/" in the "api_selection_filters" section

How does the "modify_url" action in the "execute" section modify the request URL

What is the purpose of the "response_code" filter in the "validate" section

What is the significance of the "endpoint_in_traffic_context" parameter in the "url" filter of the "validate" section

How is the severity of this vulnerability classified

What are some of the tags associated with this vulnerability

Loved by security teams!

Loved by security teams!

Product Hunt Badge

"We are absolutely thrilled with the testing feature of Akto. We have used it on our graphQL endpoints and it performs flawlessly identifying common API security issues. It's truly a game-changer and we highly recommend Akto to anyone looking to effortlessly secure their API endpoints. With a user-friendly interface, it's the perfect solution for anyone looking to embrace custom rules with context to reduce false positives."

Loom Company logo

Security team,

Loom

"We are absolutely thrilled with the testing feature of Akto. We have used it on our graphQL endpoints and it performs flawlessly identifying common API security issues. It's truly a game-changer and we highly recommend Akto to anyone looking to effortlessly secure their API endpoints. With a user-friendly interface, it's the perfect solution for anyone looking to embrace custom rules with context to reduce false positives."

Loom Company logo

Security team,

Loom

"The text editor in Akto is absolutely remarkable. Its user-friendly YAML format strikes the perfect balance between simplicity and power. With intuitive features like 'API selection filter', 'Execute', Validate' creating test rules becomes incredibly easy. Akto's test editor is a game-changer, enabling seamless creation of highly personalized and effective tests that could meet the needs of any modern day organization. "

Rippling Company logo

Security team,

Rippling

Suggest API security tests

Suggest API security tests

We're actively building the test library. Suggest a test! If we like your suggestion, you will see it in the library in few days.

We're actively building the test library. Suggest a test! If we like your suggestion, you will see it in the library in few days.