~/talk

The Hacker's Guide to JWT Security

Talkat GopherCon UK 2023 · 2023-08-16..08-18· [security, web-platform]
links:none on file
slides:none on file

Walkthrough of four live demos shows concrete failures and fixes: a none algorithm bypass accepted because code uses parse not verify; an HMAC key recovered with hashcat on 6× RTX 3090 in 16s demonstrating weak shared secrets; a packet sniffing of internal LB that exposes valid tokens when backend links are unencrypted; and an XSS steals sessionStorage token proving JavaScript-accessible JWTs are fragile. Recommendations include explicit algorithm/key checks, use of jwt.io and maintained libraries, hardened cookies over sessionStorage, and server-side revocation/state for logout.

AI-written summary · about

  1. 0:00Start
  2. 1:17Form3
  3. 2:59RFC 7519, JSON Web Token
  4. 6:14HTTP Request with JSON Web Token
  5. 7:08Demos
  6. 13:22Another Library with None Problem
  7. 15:12Go JWT Libraries - None Problem
  8. 16:36Demo #1, None Algorithm, Problems
  9. 18:08Library API Problem
  10. 18:32Implementing Verification - Best Practices
  11. 21:24HMAC-SHA signed with RSA public key
  12. 22:20Why to Require Algorithm and Key?
  13. 27:13hashcat
  14. 27:31Demo #2, Problems
  15. 28:18JWT, Algorithms
  16. 37:50XSS Attack Vector
  17. 38:36Problems and Solutions
  18. 39:53OWASP Token Sidejacking Solution
  19. 40:26JWT Security
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.