Course outlinetap to jump← Web Application Security
Language
APIs, Burp & remediation

Lesson 17 of 22 · ~22 min

JWT Security

alg confusion and key handling.

JWT Security

Course: Web Application Security
Level: Intermediate
Module: AppSec
Duration: 45–60 min

JWT Security
JWT Security

Learning objectives

  • Explain JWT Security the way a junior AppSec engineer would
  • Map the idea to login, checkout, or API flows you already use
  • Know a safe lab way to observe the issue (Juice Shop / CYNARKS Labs)
  • Pass the knowledge check without attacking real sites

1. In one sentence

JWTs are signed tokens (header.payload.signature) — dangerous if verification is weak or secrets leak.

2. Why it matters (daily life)

SPAs and mobile apps use JWT/OAuth access tokens. alg:none or key confusion are classic lab lessons.

3. How it works

Verify signature with the right algorithm/key; short TTL; store carefully; don’t put secrets in payload; rotate keys.

4. Real-world / authorized lab example

Lab: forged unsigned token accepted → fix verifier to require RS256/HS256 properly.

5. Fix mindset (builders)

Prefer input validation, parameterized queries / safe APIs, least-privilege sessions, security headers, and regression tests. “Patch later” is how IDOR and XSS become incidents.

6. Common mistakes

Accepting alg from token blindly; forever-lived JWTs in localStorage without XSS defenses.

7. Practical habit (authorized labs only)

  1. Reproduce on an intentional vulnerable app in Labs.
  2. Capture request/response notes (redact secrets).
  3. Write the fix in one paragraph a developer can ship.
  4. Retest after the fix — same steps, expect fail-closed.

8. Memory tip

Explain this using Gmail login, Instagram, PhonePe checkout, or a college portal — as a story, without attacking real sites.

Burp Suite Practice intercepts only on authorized lab apps (e.g. Juice Shop in Labs).

Knowledge Check

Q1. Three JWT parts?

A. Test only on authorized lab apps and report clear remediations
B. Probe live banking / college sites without written permission
C. Ignore HTTPS and mishandle sessions on purpose in production
D. Disable logging so findings cannot be traced

Q2. Why reject alg none?

A. Test only on authorized lab apps and report clear remediations
B. Probe live banking / college sites without written permission
C. Ignore HTTPS and mishandle sessions on purpose in production
D. Disable logging so findings cannot be traced

Q3. Where not to put passwords?

A. Test only on authorized lab apps and report clear remediations
B. Probe live banking / college sites without written permission
C. Ignore HTTPS and mishandle sessions on purpose in production
D. Disable logging so findings cannot be traced

Answer Key

  1. A
  2. A
  3. A

Lesson Summary

JWT Security is a building block of modern web risk. Learn it deeply; practice only where you are allowed.

Coming next

Continue the Web Application Security syllabus. Keep your proxy pointed at lab targets only.


CYNARKS Academy – Learn to Understand. Practice to Defend.
Never test live PhonePe, Instagram, Razorpay merchant panels, or college portals without written permission.