Pocket CTF Reference · Device home

Object Reference

The records API exposes an assigned numeric object. Test whether changing its location also changes what the server authorizes.

Objective

Before you begin

Open /challenge/medium/objects and inspect only the nearby training records suggested by the challenge.

Concepts

An identifier locates an object; it does not prove the requester may access it. Authorization must be evaluated for every object request.

A user and an object identifier enter a per-object policy check. The requested action is allowed only when that user has permission on that object.

An object identifier locates a record; it does not prove permission to use it. The server must check the authenticated user's relationship to the specific object and requested action. Apply the check to every access path, including downloads and APIs. Unpredictable identifiers can reduce guessing but do not replace authorization.

Suggested tools

Tool practice

Rehearse the worked tool exercise before using challenge data.

Practice extracting an ID together with its nested value in the JSON exercise. For the game, make a two-row table of request path, returned ID, owner, and relevant content. A 404 supplies no second object to compare.

Investigation

Observe

Record the assigned object's ID and owner, then note which URL segment selects it.

Form a hypothesis

Will a nearby identifier return a record with a different owner?

Test carefully

Change only the final numeric segment and compare the two responses.

Progressive hints

Hint 1

Begin with the assigned record linked by the challenge.

Hint 2

Identify the path segment that selects an object; keep the other request properties fixed.

Hint 3

Compare the owner and note fields.

Troubleshooting and reset

Keep the /api/medium/records/ prefix unchanged. A missing record is not a solution and does not require reset.