Auth bugs QA can catch without being a pentester
The auth and session bugs that show up in normal functional testing — no exploit tooling required.
Series
The auth and access bugs you can catch during ordinary functional testing — no pentest required. A large share of the auth bugs that cause real incidents are functional defects in plain sight. This series covers the QA-safe security checks you can run with two accounts and a test inbox, and how to report them responsibly.
// overview
You don't need a pentesting certification to catch the security bugs that cause real incidents. A large share of them are functional defects sitting in plain sight — an object you can read by changing an ID, a session that survives logout, a reset link that never expires. This series is the QA-safe pass for finding them with two accounts and a test inbox.
It stays deliberately inside the QA lane: no exploit payloads, no production data — just functional testing pointed at the auth layer, plus clear guidance on reporting findings as defects rather than weaponised writeups. Where a specialist review should take over, it says so.
Read it to build the habit of asking “what if I'm not supposed to do this?” on every feature you test.
// reading order
The auth and session bugs that show up in normal functional testing — no exploit tooling required.
The most common serious web vulnerability is also the easiest for QA to catch: the app serves a record by ID without checking it is yours. Two accounts and a changed number find it.
Authentication asks who you are; authorization asks if you are allowed. Most access-control bugs live in the second question — tested with a written access matrix and a lot of negative testing.
A session that lives too long is a hole, one that survives logout defeats the point. Here is the session-expiry pass — idle, absolute, logout, reset, remember-me, and fixation.
Password reset is a deceptively risky flow — token reuse, expiry, enumeration, and session handling all hide here.
The OWASP Top 10 translated for QA: what each category means for flows you already test, and the one check you can run without being a pentester.
The full multi-factor auth test surface: bypass, wrong/expired/reused codes, brute-force lockout, recovery, and the usability cases most teams skip.
Checklist
Common Bug