Skills

Offensive Jwt

JWT attack methodology for penetration testers.

Install

npx skills add SnailSploit/Claude-Red --skill offensive-jwt -g -a claude-code -y
Repository
SnailSploit/Claude-Red10.2k
Category
Testing
Updated
23d ago
License
MIT
Context cost
Mediumabout 2,545 tokens
Runs scripts
No, instructions only

What it does

JWT attack methodology for penetration testers. Covers algorithm confusion (alg:none, RS256→HS256), weak HMAC secret brute force, kid parameter injection (SQLi, path traversal), jku/x5u/jwk header injection, JWKS cache poisoning, JWS/JWE confusion, timing attacks, and mobile JWT storage extraction. Use when testing JWT-based authentication, hunting auth bypass via token manipulation, or evaluating JWT implementation security in web or mobile apps.

Overview

Comprehensive JWT attack checklist for offensive security engagements. Follow steps in order; apply each technique to the current target context and track which items have been completed.

Quick Reference: Misconfigurations to Check

  • Algorithm set to none, signature verification bypassed entirely
  • Algorithm switching between RSA and HMAC (confusion attack)
  • Weak or guessable HMAC secret (brute-forceable)
  • kid, jku, jwk, x5u header parameters accepted without validation
  • Expired or tampered tokens accepted by server
  • Sensitive data stored unencrypted in payload

Useful tool: JWT Tool

Mechanisms

JWTs (RFC 7519) consist of three Base64URL-encoded parts: header.payload.signature.

Signing algorithms:

AlgorithmTypeNotes
HS256/384/512Symmetric HMACShared secret; confusion target
RS256/384/512Asymmetric RSAPublic key can be misused as HMAC secret
ES256/384/512Asymmetric ECDSA
PS256/384/512RSASSA-PSS
EdDSA (Ed25519/Ed448)Asymmetric
noneUnsignedCritically insecure

Additional pitfalls:

  • JWS/JWE confusion: server accepts encrypted token (JWE) where signed (JWS) is expected, or fails open on unexpected typ/cty
  • JWKS retrieval: SSRF via jku/x5u, insecure TLS, poisoned key caching, kid collisions
  • Token binding (DPoP, mTLS): incorrectly implemented allows replay from other clients

Hunt: Identifying JWT Usage

  1. Check Authorization: Bearer <token> headers in all requests
  2. Look for cookies containing JWT structures (eyJ...)
  3. Examine browser local/session storage
  4. Decode the token at jwt.io or via BurpSuite JWT extension, inspect claims and header parameters
  5. Note any kid, jku, jwk, x5u fields in the header, these are attack surfaces

Vulnerability Map

Read the whole SKILL.md on GitHub

More in Testing