idor_test
Test for Insecure Direct Object References by iterating through IDs to detect unauthorized data access. Sends requests with different IDs and analyzes response variations to identify potential IDOR vulnerabilities.
Instructions
Test Insecure Direct Object References by iterating through IDs/GUIDs.
Sends requests with each ID and compares response status codes and lengths. Differing responses suggest IDOR — the server returns data for other users' objects without proper authorization checks.
Returns: {"baseline": dict, "results": [{"id": str, "status": int, "length": int, "different": bool, "snippet": str}], "idor_candidates": [str]}.
Side effects: Read-only requests. Sends len(id_list) + 1 requests.
Errors: ConnectionError if target unreachable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL with ID parameter, e.g. https://target/my-account?id=123 or https://target/api/users/123 | |
| parameter | Yes | Parameter name containing the ID, e.g. 'id'. Use '__path__' if the ID is in the URL path | |
| id_list | Yes | List of IDs/GUIDs to test, e.g. ['1','2','3'] or ['abc-def-123', 'ghi-jkl-456'] | |
| auth_cookie | No | Session cookie to send (e.g. 'session=abc123'). If None, tests without auth | |
| method | No | HTTP method to use |