Skip to main content

Insecure Direct Object References

ItemDescription
Full Fuzzer NameInsecureDirectObjectReferencesFuzzer
Log KeyN/A; the fuzzer name and mutation scenario identify the test.
DescriptionReplaces ID-like request fields with alternative identifiers to detect unauthorized access to another user's or resource's data.
Enabled by default?Yes.
Target field typesNumeric, UUID, and string fields whose names are ID-like, such as id, userId, account_id, or fields ending in id, uuid, or guid.
Expected result4XX, indicating that the modified identifier was rejected or the resource was not available.
Fuzzing logicDetects ID-like fields, generates alternative identifiers, replaces one field at a time, and checks whether the response exposes a successful or server-error path.
Conditions when this fuzzer will be skippedWhen no ID-like field is present, a field has no value, or the field is supplied as reference data.
HTTP methods that will be skippedNone.
ReportingA 2XX response is reported as a potential IDOR error; 4XX is reported as correctly denied, while 5XX and other unexpected codes are errors.