BOLA
Critical Finding
Remediated
BOLA: formerly known as IDOR: is the most commonly exploited API vulnerability. We test every endpoint that accepts object identifiers to verify that authorization is enforced at the object level, not just at the resource type level. This includes horizontal privilege escalation between users and vertical escalation to admin-level objects.
We test API authentication mechanisms including JWT validation, OAuth flows, API key management, and session handling. Authentication failures at the API layer often have broader impact than equivalent failures in a web interface because APIs are designed for machine-to-machine communication and often have access to more sensitive data and operations.
Many APIs return far more data than the client interface displays, filtering sensitive fields client-side rather than server-side. We analyze API responses for sensitive data that should not be returned to the caller, including PII, internal system details, and data belonging to other users.
Absence of rate limiting on API endpoints enables credential stuffing, enumeration attacks, and resource exhaustion. We test for missing or bypassable rate limits, lack of input size restrictions, and server-side resource consumption vulnerabilities that could lead to denial of service.
We probe API endpoints for SQL injection, NoSQL injection, command injection, XML/JSON injection, and SSRF vulnerabilities. These attacks are often more impactful at the API layer because APIs frequently interact directly with databases and internal services with minimal sanitization.
GraphQL introduces unique attack vectors including introspection abuse, deeply nested queries for DoS, field-level authorization failures, and batch query attacks. We test GraphQL APIs specifically for these vectors in addition to the OWASP API Top 10 coverage applied to all API types.
We had a third-party security review pending for a $1.5M contract and our API had never been formally tested. garrisonOne found broken object-level authorization on our core data API: any authenticated user could access any other account's data. We fixed it in a week, passed the customer review, and closed the contract. The cost of the test was trivial compared to what we would have lost.
Client results
Technology / SaaS
A seed-stage SaaS startup had customer data in a public S3 bucket. garrisonOne conducted a full AWS security assessment against CIS benchmarks and hardened the environment in 4 weeks.
Industry focus
Related Services: Penetration Testing | Web App Penetration Testing | Cloud Penetration Testing | Vulnerability Assessment
The OWASP API Security Top 10 is a list of the most critical security risks specific to APIs. The current list includes: Broken Object Level Authorization, Broken Authentication, Broken Object Property Level Authorization, Unrestricted Resource Consumption, Broken Function Level Authorization, Unrestricted Access to Sensitive Business Flows, Server Side Request Forgery, Security Misconfiguration, Improper Inventory Management, and Unsafe Consumption of APIs. Testing against this list ensures coverage of the most commonly exploited API vulnerabilities.
Yes. We test REST, GraphQL, and gRPC APIs. GraphQL requires specialized testing approaches due to its introspection capability, query complexity, and the fact that authorization must be enforced at the resolver level rather than the endpoint level.
Web application testing focuses on the user interface layer and its underlying logic. API testing focuses specifically on the API endpoints, their authentication and authorization logic, input validation, data exposure, and the machine-to-machine communication layer. While there is overlap, API testing requires different techniques: particularly for authorization testing: and uses different tooling.
We need API documentation (Swagger/OpenAPI spec if available), test environment credentials with accounts at different privilege levels, details about the authentication mechanism, and a list of any endpoints that should be excluded from testing. More documentation means more complete coverage.
Yes. We test authenticated APIs using test credentials provided by your team. We test the authentication mechanism itself, and we also test what an authenticated user at each privilege level can access or manipulate that they should not be able to.
PCI DSS requires testing of all in-scope APIs. SOC 2 and ISO 27001 do not mandate API testing explicitly but include requirements around software security testing that typically include APIs. Organizations processing sensitive data through APIs should test them regardless of compliance requirements.
A focused API security test typically takes three to seven days depending on the number of endpoints and complexity. APIs with hundreds of endpoints or complex GraphQL schemas may require more time. We provide a clear timeline after reviewing your API documentation.
Broken object level authorization (BOLA/IDOR) is consistently the most common critical finding in API security assessments. It occurs when an API endpoint accepts an object identifier in the request and does not verify that the requesting user is authorized to access that specific object: allowing users to access other users' data by changing an ID value.