JSON Web Tokens are a compact, self-contained way to carry identity claims between parties, signed so the recipient can trust them without a server-side session lookup. That self-contained design is their strength and their risk: because the token itself asserts who you are, any flaw in how its signature is verified can let an attacker forge a token and impersonate anyone.
Analogy🏏Cricket
🍳 Think of it like cooking: A recipe can look flawless on paper, but a head chef only truly judges the dish by tasting the finished plate, because heat, timing, and the actual oven reveal problems the written method never shows. Just as tasting the cooked result catches what reading the recipe cannot, DAST probes the running application and catches the misconfigurations and runtime behaviour that reading the source cannot. This reveals DAST's stance: it judges the dish as it is actually served, not the recipe as it was merely written.
This lesson focuses on the two most damaging JWT failures: accepting the 'none' algorithm so unsigned tokens are trusted, and algorithm confusion where an attacker downgrades verification to a key they control. Both stem from trusting values inside the token about how to verify the token, a circularity that secure implementations must refuse.
Analogy🏏Cricket
💰 Think of it like finance: A real audit that actually attempts a sample transaction proves beyond doubt whether a control can be bypassed, with little room for a false alarm, but it can only test the accounts and processes the auditors actually reach. Just as a hands-on audit yields high-confidence, low-false-positive results yet is bounded by what it examines, DAST yields high-confidence findings about real exploitability yet is bounded by the surface it can reach. This reveals its trade-off: what it confirms is solid, but it only confirms what it manages to touch.