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

Detect broken object level authorization in REST and GraphQL APIs.

2|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/Acczdy/MoZiSec --skill testing-api-for-broken-object-level-authorization
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/Acczdy/MoZiSec/tree/main/api-security/.claude/skills/testing-api-for-broken-object-level-authorization
Command: npx skills add https://github.com/Acczdy/MoZiSec --skill testing-api-for-broken-object-level-authorization

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps security testers find Broken Object Level Authorization (BOLA/IDOR) vulnerabilities where authenticated users can access or modify resources belonging to other users by manipulating object identifiers in REST or GraphQL requests. It reduces manual trial-and-error by providing a structured methodology and automation to enumerate IDs, replay requests with different tokens, and identify read, write, and delete authorization gaps.

Core Features & Use Cases

  • Endpoint discovery & ID classification: Identify path, query, and body parameters that reference objects and classify them as sequential integers, UUIDs, slugs, or encoded values.
  • Automated attack simulation: Scripted tests for horizontal read, write, delete, batch, nested-resource, method-bypass, and ID enumeration scenarios with reporting of findings.
  • Tool integration: Guidance for using intercepting proxies (Burp/Autorize, OWASP ZAP), Postman, and Python requests-based automation for repeatable assessments.
  • Use Case: Perform OWASP API1:2023 assessments on a multi-tenant SaaS API to verify per-object authorization enforcement across endpoints and batch operations.

Quick Start

Run the BOLA agent against the target API with two authorized test accounts and their tokens to enumerate object IDs and detect authorization bypasses.

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 for Broken Object Level Authorization in REST and GraphQL APIs?

Automate BOLA detection by scripting requests to replace path, query, or body object IDs across two authenticated accounts. This identifies horizontal read, write, and delete authorization bypasses in REST and GraphQL endpoints.

What is needed to detect IDOR vulnerabilities in a multi-tenant SaaS API?

Multi-tenant IDOR detection requires an intercepting proxy or scripted HTTP client, two authenticated accounts with distinct data sets, and the ability to enumerate and replace object IDs in API requests.

Can I use Python requests to automate IDOR and BOLA testing?

Yes, you can use Python requests to automate BOLA and IDOR testing. Scripts handle ID enumeration and token replay to detect authorization bypasses across REST and GraphQL endpoints.

Does this approach support testing GraphQL APIs for object level authorization flaws?

Yes, it supports testing GraphQL APIs for object level authorization flaws by manipulating object identifiers in queries, covering nested-resource and batch operation scenarios.

What types of object identifiers can be tested for API authorization bypasses?

Testable object identifiers include sequential integers, UUIDs, slugs, and encoded values. The methodology classifies these IDs from path, query, and body parameters before manipulating them in requests.

What are the limitations of automating BOLA detection with scripted HTTP clients?

Limitations include the requirement for at least two authenticated accounts with distinct data sets to validate access controls. It also relies on an intercepting proxy or scripted HTTP client to properly enumerate and replace object IDs.