exploiting-idor-vulnerabilities

Identify and exploit Insecure Direct Object Reference vulnerabilities in web APIs.

2|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/Acczdy/MoZiSec --skill exploiting-idor-vulnerabilities
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: exploiting-idor-vulnerabilities
Source: https://github.com/Acczdy/MoZiSec/tree/main/web-security/.claude/skills/exploiting-idor-vulnerabilities
Command: npx skills add https://github.com/Acczdy/MoZiSec --skill exploiting-idor-vulnerabilities

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Identifies and confirms Insecure Direct Object Reference (IDOR) weaknesses that allow attackers to access or modify resources by manipulating object identifiers, helping teams detect missing object-level authorization in APIs and web applications.

Core Features & Use Cases

  • Mapping & Enumeration: Discover endpoints and predictable ID patterns (numeric IDs, UUIDs, slugs) across an application to identify enumeration opportunities.
  • Cross-Session Comparison: Replay requests across multiple authenticated sessions to detect horizontal and vertical IDOR via response comparison.
  • Write & Vertical Tests: Validate write-based IDOR (PUT/DELETE) and attempts to access admin/elevated endpoints with lower-privileged credentials.
  • Tooling Integration & Reporting: Works with Burp Suite, ffuf, curl, and includes a Python agent to automate tests and produce structured reports.
  • Use Case: Use during authorized penetration tests or bug bounty assessments to prove object-level authorization failures and gather reproducible evidence for remediation.

Quick Start

Run the exploiting-idor-vulnerabilities agent against a staging API using two authenticated accounts to enumerate object IDs and verify access controls.

Frequently Asked Questions about exploiting-idor-vulnerabilities

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

FAQPage Schema
How do I test for IDOR vulnerabilities in web APIs?

To test for IDOR vulnerabilities, you replay authenticated requests across multiple user sessions to compare responses and detect missing object-level authorization across CRUD endpoints. This process identifies horizontal and vertical access control failures by manipulating object identifiers like numeric IDs or UUIDs.

What is cross-session comparison for access control testing?

Cross-session comparison for access control testing involves replaying HTTP requests using two authenticated user sessions to detect horizontal and vertical IDOR. By comparing the responses, you confirm if an application properly enforces object-level authorization between different users.

Can I automate IDOR enumeration with Burp Suite and ffuf?

You can automate IDOR enumeration by integrating Burp Suite, ffuf, and curl with a Python agent to discover predictable ID patterns. This combination maps endpoints and validates write-based IDOR tests across multi-tenant APIs, producing structured reports for remediation.

How do I validate write-based IDOR on PUT and DELETE endpoints?

To validate write-based IDOR on PUT and DELETE endpoints, you replay modification requests across two authenticated sessions to verify if lower-privileged credentials can alter or delete resources. This confirms missing object-level authorization for write operations during authorized penetration tests.

Do I need two authenticated sessions for IDOR testing?

Yes, you need two authenticated user sessions for IDOR testing to perform cross-session comparison. This setup allows you to replay requests from one account against another account's resources to detect horizontal and vertical access control vulnerabilities.

When should I test for vertical IDOR during a penetration test?

You should test for vertical IDOR during a penetration test when evaluating multi-tenant API reviews and elevated endpoints. This involves attempting to access admin resources with lower-privileged credentials to confirm object-level authorization failures across different user roles.