They only have one session.
A Burp Suite extension that replays every request as every other account, proves what it finds with three more, and tells you what it never tested.
SQL injection and XSS are decidable from one session: a payload either reflects or it does not. Scanners are good at them.
Authorization is not. To know /invoices/4471 is Alice's and Bob should not have it, you need Bob's session, Alice's session, and a notion of who owns what.
Which is why broken access control is #1 on the OWASP Top 10 and still found by hand.
Browse as each account. Every request is attributed to the session that carried it — including when two accounts use differently named cookies.
Every request goes out again as every other account, with the whole credential set exchanged — cookies, headers, body tokens, all three anti-forgery carriers.
A nonexistent identifier, a repeat, and a credential-free request. Then: was this account already entitled to the object anyway?
And then the part nobody builds: what was not tested, with the reason on every row.
Two renders of one page are 93 % alike by construction — the chrome, the navigation, the scripts. Similarity proves nothing.
What proves something is the records: how many values that identify the owner's data came back, out of how many existed.
An IDOR on a UUID only matters if an attacker can get the UUID. Most tools shrug. Penjester searches.
Every response your account genuinely received is scanned for the victim's identifier, and the number searched is recorded.
Silence is not proof of absence. A searched silence is.
Everything Swing- or Burp-bound has its rule extracted into a pure function so it can be asserted without a Burp runtime. The test suite is the proof, not the screenshot.
jester.yourdomain — docs, use cases, install