A minimal Flask application demonstrating an insecure direct object reference (IDOR) vulnerability caused by using sequential integer identifiers in URLs without any access control or authentication.
- Identify insecure resource access using numeric IDs
- Understand the risk of exposing data without authentication
- Perform manual IDOR attacks using integer incrementation
- Capture and report unauthorized data access
Beginner
20–30 minutes
- Basic knowledge of HTTP and URLs
- Ability to modify URL paths manually
- Familiarity with curl, a browser, or BurpSuite
- IDOR discovery and exploitation
- Enumerating numeric resource identifiers
- Understanding the consequences of missing authorization checks
- Performing manual fuzzing
build/
— Flask application code (app.py, templates/, static/)deploy/
— Docker configuration filestest/
— Automated testsdocs/
— Documentation
- Docker and docker-compose
- Clone the repository
- Run the application:
docker-compose up --build
- Open http://localhost:3206 in your browser
https://github.com/cyberctf/idor-flask/issues