Vulnérabilités OAuth 2.0 — Guide Pentest et Sécurisation
Les failles OAuth 2.0 les plus courantes : open redirect, token leakage, absence de PKCE — comment les tester et les corriger.
OAuth 2.0 — Rappel des flux
OAuth 2.0 est le protocole d'autorisation standard pour les APIs. Les flux principaux : Authorization Code (applications web), Implicit (déprécié), Client Credentials (machine-to-machine), PKCE (applications mobiles/SPA).
Vulnérabilités les plus courantes
Open Redirect sur redirect_uri
Si le serveur d'autorisation ne valide pas strictement le paramètre redirect_uri, un attaquant peut voler le code d'autorisation en redirigeant vers son serveur. Exemple : redirect_uri=https://attacker.com/callback.
Absence de state parameter
Le paramètre state protège contre les attaques CSRF sur le flux OAuth. Son absence ou sa non-validation permet à un attaquant de forcer l'authentification d'une victime avec son propre compte (CSRF login).
Absence de PKCE
Pour les applications mobiles et SPA, PKCE (Proof Key for Code Exchange) protège contre le vol du code d'autorisation. Sans PKCE, une application malveillante sur l'appareil peut intercepter le code et échanger un token.
Token leakage via Referer
Si l'access token est dans l'URL (flux Implicit), il peut être transmis via l'en-tête Referer à des ressources tierces chargées sur la page.
Tests en pentest
Manipulation du redirect_uri (wildcards, sous-domaines, encodage URL), suppression du state parameter, test d'interception du code d'autorisation, analyse des tokens JWT (algorithme none, RS256 vs HS256).
Remédiation
Validation stricte et liste blanche du redirect_uri, state parameter obligatoire, PKCE pour toutes les applications publiques, tokens de courte durée de vie, rotation des refresh tokens.
Besoin d'un pentest ?
Nos experts certifiés analysent la sécurité de vos applications. Devis gratuit sous 48h.
Demandez votre devis gratuit