idor-broken-object-authorization

Detects IDOR and broken object-level authorization by testing object ownership across accounts.

5|2|Updated May 16, 2026
One-click install
npx skills add https://github.com/DorianGallo/hack-skills-local --skill idor-broken-object-authorization-doriangallo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: idor-broken-object-authorization
Source: https://github.com/DorianGallo/hack-skills-local/tree/main/skills/idor-broken-object-authorization
Command: npx skills add https://github.com/DorianGallo/hack-skills-local --skill idor-broken-object-authorization-doriangallo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps security testers identify Insecure Direct Object Reference (IDOR) and Broken Object Level Authorization (BOLA) gaps where an application fails to verify object ownership or referenced-resource authorization.

Core Features & Use Cases

  • Comprehensive IDOR surface mapping: Finds object identifiers across path, query, headers, cookies, JSON bodies, forms, GraphQL, and real-time channels—not just URL parameters.
  • Evidence-driven A-B testing: Establishes whether a different user can read or modify another user's resources by replaying captured requests with a second account.
  • High-coverage variant testing: Covers horizontal vs vertical privilege escalation, method escalation (GET/POST/PUT/PATCH/DELETE), indirect/reference-chain IDOR, mass assignment, and business-logic state machine abuse.

Quick Start

Use the idor-broken-object-authorization skill to test whether UserB can access or modify resources that UserA owns by replaying UserA requests with UserB credentials and systematically swapping object IDs in every supported location.

Frequently Asked Questions about idor-broken-object-authorization

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

FAQPage Schema
How do I test for IDOR and broken object-level authorization vulnerabilities in APIs?

Test IDOR and broken object-level authorization by replaying requests from one user account with another user's credentials, systematically swapping object identifiers across routes, parameters, request bodies, headers, and cookies to detect authorization enforcement failures.

What is the difference between horizontal and vertical privilege escalation in IDOR testing?

Horizontal privilege escalation tests accessing resources owned by peers at the same privilege level, while vertical escalation targets resources belonging to higher-privileged users. IDOR testing methodology covers both by varying object identifiers and swapping session contexts across different account roles.

Can I detect mass assignment and business-logic edge cases during broken authorization testing?

Yes, broken authorization testing includes validating mass assignment vulnerabilities by injecting additional object properties into request bodies, and checks business-logic state machine abuse by manipulating object ownership transitions and referenced-resource authorization states.

Does IDOR testing work with GraphQL endpoints and sub-resources?

IDOR testing applies to GraphQL endpoints and sub-resources by mapping comprehensive object identifier surfaces across path variables, query parameters, JSON bodies, forms, headers, cookies, and real-time channels to uncover referenced-resource authorization gaps.

What's the best way to perform A-B testing for object ownership validation in web applications?

The best way to perform A-B testing for object ownership validation is establishing a structured methodology where captured requests from UserA are replayed using UserB credentials, applying verb variation across HTTP methods and indirect object reference chain checks to confirm authorization enforcement.

How do I check for indirect object reference chains during API penetration testing?

Check for indirect object reference chains by systematically varying object identifiers and reference parameters across all supported locations in API routes, verifying whether the application enforces referenced-resource authorization when sub-resources or nested object references are manipulated.