Que fait jwt-oauth-token-attacks ?
Guide d'attaque sur les tokens JWT et OAuth. À utiliser lors de la validation de la confiance des tokens, des algorithmes de signature, de la gestion des clés, de l'abus de revendications, des flux Bearer et des faiblesses de liaison de compte OAuth.
Scénarios d'attaque
1. Contournement de l'algorithme de signature
Essayez de modifier l'algorithme en none ou de passer de RS256 à HS256 en utilisant la clé publique comme secret.
# Modifier l'en-tête JWT pour définir "alg": "none"
jwt_tool --header '{"alg":"none"}' -p /dev/null token.jwt
2. Abus de revendications (claims)
Modifiez les revendications comme sub, aud, iss, exp, iat pour escalader les privilèges ou contourner la validation.
{
"sub": "admin",
"aud": "internal-service",
"iss": "trusted-issuer"
}
3. Interception de tokens Bearer
Utilisez curl pour tester un token volé dans l'en-tête Authorization.
curl -H "Authorization: Bearer <token>" https://api.example.com/protected
4. Attaques sur les flux OAuth
- CSRF : Échangez le code d'autorisation avec un code malveillant.
- Liaison de compte faible : Associez un token OAuth à un compte non prévu.
5. Gestion de clés
Testez les clés symétriques faibles, les clés publiques exposées ou l'absence de validation de clé.
# Tester avec une clé vide
jwt_tool -k "" token.jwt
Références
Note : Utilisez ce guide uniquement dans un cadre autorisé (tests de sécurité, audits).