testing-api-for-broken-object-level-authorization

Tests REST and GraphQL APIs for BOLA and IDOR authorization vulnerabilities.

1|1|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/Yenn503/Net-Runners --skill testing-api-for-broken-object-level-authorization-yenn503
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: testing-api-for-broken-object-level-authorization
Source: https://github.com/Yenn503/Net-Runners/tree/main/.netrunner/skills/appsec/testing-api-for-broken-object-level-authorization
Command: npx skills add https://github.com/Yenn503/Net-Runners --skill testing-api-for-broken-object-level-authorization-yenn503

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests.

What problem does it solve? APIs often authenticate users but fail to verify whether the authenticated user owns the specific object being requested, allowing attackers to read or modify other users' data by swapping object IDs. This Skill provides a systematic methodology to detect Broken Object Level Authorization (BOLA/IDOR), the OWASP API Security Top 10 2023 risk API1. ## Core Features & Use Cases - Endpoint and Object ID Mapping: Enumerate API endpoints from OpenAPI/Swagger specs or Burp Suite traffic and classify object ID types (sequential integers, UUIDs, slugs, composite paths) by predictability and risk. - Horizontal Privilege Escalation Testing: Use two test accounts to systematically swap object IDs across GET, PATCH, DELETE, batch, and nested-resource requests, including parameter pollution and method-switching techniques. - Automated and GraphQL Detection: Configure the Autorize Burp extension for automated authorization replay testing and test GraphQL node/relay ID patterns for cross-user object access. - Use Case: During an authorized assessment of an e-commerce API, you discover that GET /api/v1/orders/{id} returns any customer's order and PATCH /api/v1/addresses/{id} allows modifying any user's address, then document the findings with severity, proof of concept, and remediation steps. ## Quick Start Test the target API for BOLA by capturing requests from two test accounts and swapping object IDs across all endpoints to check whether per-object authorization is enforced.

Frequently Asked Questions about testing-api-for-broken-object-level-authorization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test an API for BOLA or IDOR vulnerabilities?▼

BOLA testing uses two authenticated accounts: capture User A's legitimate requests, then replace object IDs with User B's IDs across GET, PATCH, DELETE, and batch endpoints. If User A receives User B's data with a 200 status, the endpoint lacks object-level authorization.

What tools are used for API authorization testing?▼

Burp Suite Professional with the Autorize extension automates BOLA detection by replaying requests with a second user's token. OWASP ZAP offers an open-source alternative, while Python with the requests library and ffuf support scripted testing and ID enumeration.

Does using UUIDs instead of sequential IDs prevent BOLA?▼

No, UUIDs only reduce ID predictability and do not fix missing authorization checks. UUIDs can leak through API responses, logs, or URLs, so per-object authorization verification at the data access layer is still required.

Can GraphQL APIs have BOLA vulnerabilities?▼

Yes, GraphQL APIs are vulnerable when node queries or nested relationships resolve objects without ownership checks. Test by querying global relay IDs or another user's ID and traversing relationships like orders and payment methods.

What prerequisites are needed before BOLA testing an API?▼

You need written authorization from the API owner, at least two test accounts with distinct data, authentication tokens for each account, an intercepting proxy, and ideally an OpenAPI/Swagger specification to enumerate endpoints.