CORS — origine null considérée comme fiable

CORS vulnerability with trusted null origin

Exploiter une configuration CORS vulnérable qui fait confiance à l’origine "null". L’objectif du labo est de récupérer la clé API de l’administrateur via une requête CORS (avec credentials) et d’uploader le code sur l’exploit server. Le labo est résolu lorsque la clé API de l’administrateur est soumise avec succès.

  • Le serveur renvoie Access-Control-Allow-Credentials: true.

Quand on envoie l’en-tête Origin: jord4n.pro, on ne voit pas le domaine reflété.

En revanche, quand on envoie Origin: null, la réponse accepte et reflète cette valeur.

Forcer l’envoi d’une requête depuis une page dont l’origine est null (par exemple via un iframe utilisant srcdoc) afin que la réponse CORS considère l’origine comme digne de confiance et renvoie les données (avec les cookies grâce à withCredentials).

Note : le principe est d’exécuter ce code depuis une origine null (iframe srcdoc) pour que la réponse CORS, qui accepte null, renvoie les données sensibles en incluant les cookies.

La clé récupérée, décodée depuis le Base64 :

Mis à jour

Ce contenu vous a-t-il été utile ?