
Descripción
This lab allows client applications to dynamically register themselves with the OAuth service via a dedicated registration endpoint. Some client-specific data is used in an unsafe way by the OAuth service, which exposes a potential vector for SSRF.
To solve the lab, craft an SSRF attack to access http://169.254.169.254/latest/meta-data/iam/security-credentials/admin/
and steal the secret access key for the OAuth provider’s cloud environment.
You can log in to your own account using the following credentials: wiener:peter
SSRF via OpenID dynamic client registration writeup
Entraremos al laboratorio y realizaremos el proceso de inicio de sesión en ‘My account’. Al volver a Burp Suite, en ‘Target’ encontraremos el servidor ‘OAuth’:

Teniendo su URL, le añadiremos ‘/.well-known/openid-configuration’ para ver su configuración. Allí encontraremos un endpoint para usar el servicio:

Enviaremos a ‘/reg’ una petición GET. Nos obligará a cambiarla a POST. Al hacerlo encontraremos el siguiente error:

Si añadimos el siguiente código:
Content-Type: application/json
{
"redirect_uris" : [
"https://cyberhub.es"
]
}
Veremos que hemos creado un usuario:

El único momento donde se llama al usuario en el registro es en la siguiente petición:

Por lo que tendremos que crear una URL e incrustarla en el logo. Esto lo haremos con el siguiente fragmento de código:
Content-Type: application/json
{
"redirect_uris" : [
"https://cyberhub.es"
],
"logo_uri" : "http://169.254.169.254/latest/meta-data/iam/security-credentials/admin/"
}
Ahora, tomaremos la petición del logo y cambiaremos el id por el que nos ha devuelto el servicio de OAuth en el campo ‘client_id’. Enviaremos la petición y obtendremos la clave que nos pide el enunciado:

Al enviarla completaremos el laboratorio:
