Journal d'investigation en ligne et d'information‑hacking
par bluetouff

Une vulnérabilité dans OAuth... et ton Facebook hacké

Le SSO, ou Single Sign On est une méthode d'authentification à des services web. OAuth, c'est le SSO de Facebook qui vous permet par exemple d'aller commenter certains sites de presse ou de jouer à de petits jeux. Aujourd'hui, Nir Goldshlager nous en raconte un bien bonne.

Le SSO, ou Single Sign On est une méthode d'authentification à des services web. OAuth, c'est le SSO de Facebook qui vous permet par exemple d'aller commenter certains sites de presse ou de jouer à de petits jeux. Aujourd'hui, Nir Goldshlager nous en raconte un bien bonne. Une faille béante concernant le lien du bouton d'autorisation d'accès aux applications utilisant OAuth permettrait de prendre le contrôle de n'importe quel compte en lui attribuant une URL forgée maison dans laquelle on injecte quelques paramètres observés sur ceux d'applications Facebook tierces, comprenant toutes les permissions qui vont bien.... et oui c'est une faille particulière débile.

Très concrètement, il suffit de modifier quelques paramètres dans le lien du bouton que l'on affichera sur un site (oui par exemple via un XSS) et attendra gentiment que les victimes cliquent pour autoriser l'application à s'authentifier grâce à leur compte Facebook. Mieux encore, la vulnérabilité bypass même la date d'expiration du token :

I found a way in to get a full permissions (read inbox, outbox, manage pages, manage ads, read private photos, videos,etc..) over the victim account even without any installed apps on the victim's account. Another advantage in the flaw I found is that there is no "Expired date" of the Token like there would be on any other application usage, In my attack the token never expires unless the...