Essay 4 · Practice

Essay 4 — export permission lab worksheet

Status: blank practice artifact. Fill it in as you work. The lab source is labs/04-wrong-invoice; start from lab.lookup=scoped, which is where essay 4 leaves it.

The change

Keep the selected revocation rule: revocation before generation prevents content creation; revocation after completion prevents a new download. Choose the response codes and job states that express it.

Record the policy before the code

Tests to write first

Write each test, run it, and record that it failed before your change.

Case Expected observable result Failed before change? Passes after?
Carol reads C-1001
Carol requests export of C-1001
Alice's valid export completes and downloads
Revoked before worker runs
Revoked after DONE, before download
All of ScopedRepairTest Still passes —

Where each check sits

Path File and method you changed Identity whose permission is checked Why here
Export request
Worker
Download

PortSwigger Academy transfer

Lab Solved? Hints or solution used Missing check, in one sentence Where it belongs
User ID controlled by request parameter, with unpredictable user IDs
Insecure direct object references

Your evidence

Return to essay 4Review after your attempt →