hunt-idor

Detects and exploits IDOR vulnerabilities in APIs using two-account differential testing.

Updated Sep 6, 2026
One-click install
npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-idor-inventashif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hunt-idor
Source: https://github.com/inventashif/helpful-code-sidekick/tree/main/scripts/hackerai/skills/bughunter/hunt-idor
Command: npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-idor-inventashif

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Finding Insecure Direct Object Reference (IDOR) vulnerabilities requires systematic enumeration of object references, cross-account replay testing, and careful impact validation — a process that is easy to do incompletely and often results in reports rejected for insufficient proof. ## Core Features & Use Cases - Attack Surface Mapping: Identifies IDOR-prone URL patterns, GraphQL endpoints, JavaScript ID leaks, and multi-tenant parameters across REST and mobile APIs. - Step-by-Step Methodology: Provides a 10-step workflow covering two-account setup, ID enumeration, HTTP verb tampering, GraphQL introspection, and cross-tenant testing. - Bypass & Chaining Playbooks: Documents defenses (UUIDs, hashed IDs, rate limits) with concrete bypasses, plus six senior-level chains that escalate read-only IDORs into account takeover, financial fraud, or privilege escalation. - Use Case: While testing a SaaS target, you find /api/v1/invoices/{id} returns data for any integer ID. Use this Skill to confirm cross-account access, test write operations, chain the leak into a refund endpoint, and pass the Gate 0 validation before filing the report. ## Quick Start Ask the AI to help you test a target API endpoint for IDOR by replaying one account's resource IDs with a second account's session.

Frequently Asked Questions about hunt-idor

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

FAQPage Schema
How do I test for IDOR vulnerabilities in an API?

Create two accounts at the same privilege level, capture User A's resource IDs while authenticated, then replay those requests with User B's session token. Test all HTTP verbs (GET, POST, PUT, PATCH, DELETE) and confirm a 200 response containing User A's data.

How to find IDOR in GraphQL endpoints?

Run introspection with { __schema { queryType { fields { name } } } } to enumerate queries and mutations accepting id arguments, then substitute another user's ID in each. Relay-style node(id:) resolvers often authenticate the requester but skip ownership checks on nested relations.

Can IDOR vulnerabilities exist with UUID identifiers?

Yes, UUIDs only raise the enumeration bar but frequently leak through other API responses, notification emails, webhooks, JavaScript bundles, or GraphQL queries. Harvest leaked UUIDs from accessible endpoints and replay them against restricted ones.

Why was my IDOR report rejected as not applicable?

The most common rejection cause is a 200 response that returns no actual victim data, such as empty arrays or redacted fields. Validate the exact differential: confirm the second account has no legitimate access and the response contains real confidential data before filing.

What tools are used for IDOR enumeration?

Burp Suite Intruder handles sequential ID fuzzing with response-length filtering, ffuf automates wordlist-based enumeration with status matching, and curl with swapped session tokens performs the core differential test. A simple Python loop generates ID ranges around known values.

How do I escalate a read-only IDOR into higher impact?

Look for state-changing endpoints accepting the same ID: email change plus password reset yields account takeover, refund endpoints yield financial impact, and team membership endpoints with mass assignment yield role escalation. The second half of the chain usually shares the same missing ownership check.