SSRF via l’enregistrement dynamique de client OpenID
SSRF via OpenID dynamic client registration
Objectif du laboratoire
Ce laboratoire exploite une fonctionnalité d’enregistrement dynamique de clients OpenID. Certaines données fournies par le client sont utilisées de manière non sécurisée par le service OAuth, ce qui ouvre la porte à une SSRF.
L’objectif est d’exploiter cette faille pour accéder à l’endpoint interne suivant et récupérer la clé secrète d’accès cloud du fournisseur OAuth :
Accès initial
On peut se connecter avec un compte utilisateur standard :
Identifiant : wiener
Mot de passe : peter
Découverte OpenID
En analysant le flux OAuth, on identifie l’endpoint de configuration OpenID standard :
Cette ressource expose l’ensemble des endpoints utilisés par le fournisseur OAuth, notamment :
authorization_endpointtoken_endpointuserinfo_endpointregistration_endpoint
Le champ clé ici est :

Il permet l’enregistrement dynamique de nouveaux clients.
Enregistrement d’un client OAuth
On intercepte une requête vers /reg et on la transforme en requête POST avec le header :
Un enregistrement minimal fonctionne avec un JSON très simple :
Le serveur répond en créant une nouvelle application OAuth et retourne notamment :
client_idclient_secretregistration_client_uriregistration_access_token
Cela confirme que l’enregistrement dynamique est actif et peu restrictif.

Injection SSRF via logo_uri
Le champ logo_uri, destiné à charger une image associée au client, est particulièrement intéressant.
Il est récupéré côté serveur sans validation stricte de l’URL.
On enregistre alors un nouveau client avec un logo_uri pointant vers l’IP interne AWS :
Le serveur accepte la requête et retourne un nouveau client_id.
Accès au logo du client
Chaque client dispose d’un endpoint permettant de récupérer son logo :


En utilisant le client_id obtenu précédemment :
Exfiltration des métadonnées AWS
La réponse ne contient pas une image, mais directement les credentials IAM internes :
Le SecretAccessKey correspond à la valeur attendue pour valider le laboratoire.
Mis à jour