This page has been robot translated, sorry for typos if any. Original content here.

Tout site peut obtenir des informations sur les services populaires que vous êtes autorisé

Le développeur Robin Linus sur sa page sur GitHub Pages (une visite au lien suivant n'est pas sûre et il est déconseillé de l'exécuter du lieu de travail, car en plus de la partie visible des services, la page vérifie si vous êtes connecté aux sites adultes. ) a démontré comment les sites peuvent vous retirer une «empreinte digitale», c'est-à-dire garder une trace des utilisateurs des services les plus populaires, même sans autorisation sur la page visitée.

Pour l'auteur de la publication, "media fingerprint" ressemble à ceci et est absolument correct:

Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы

Et c'est très désagréable.

Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы

Quelle est l'essence de

Pour commencer, l'auteur de la note explique comment la procédure de redirection passe à la fenêtre d'autorisation.

Si nous cliquons sur le lien https://www.facebook.com/bookmarks/pages en mode navigation privée, nous serons automatiquement redirigés vers l'écran de connexion à l' adresse :

  https://www.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Fbookmarks%2Fpages 

Notez la deuxième partie du lien:

  https% 3A% 2F% 2Fwww.facebook.com% 2Fbookmarks% 2Fpages 

C'est l'URL à laquelle nous serons renvoyés après avoir passé la procédure d'autorisation sur Facebook. Mais si nous utilisons cette URL pour rediriger vers la page d'autorisation, lorsque nous sommes déjà autorisés sur le site, nous accéderons immédiatement aux signets / pages .

Encore une fois:

  • Si nous ne sommes pas connectés et que nous allons sur https% 3A% 2F% 2Fwww.facebook.com% 2Fbookmarks% 2Fpages, nous allons dans la fenêtre de connexion.
  • Si nous sommes connectés, nous accéderons immédiatement au même lien sur https://www.facebook.com/bookmarks/pages.

Il semble que tout est logique.

La politique des grandes ressources, comme Facebook, ne permet pas de recevoir les données de la demande elle-même, car La connexion est via HTTPS. Cependant, nous pouvons obtenir n'importe quelle image du domaine, si vous lui spécifiez un lien dans login.php? Next =. Bien sûr, les photos de FB ne seront pas en mesure de tirer cela, car presque toutes les images que le réseau social stocke à l'adresse fbcdn.net, cependant, vous pouvez "frapper" sur le logo Facebook - favicon.ico:

  https://www.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Ffavicon.ico 

Et sur le site lui-même, déguisez-le à travers le img-tag comme:

  <img src = "https://www.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Ffavicon.ico"> 

Cela ressemble à ceci: Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы

Si vous avez vu cette icône FB ( Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы ), félicitations, nous venons de nous assurer que vous êtes connecté à Facebook (cochez). Si vous n'avez rien vu ou que l'image ne s'est pas chargée, retournez l'icône correspondante ( Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы ), puis, respectivement, sur Facebook vous n'êtes pas connecté .

L'exploitation finale de cette vulnérabilité est la suivante:

  <img onload = "alert ('connecté à fb')" onerror = "alerte ('non connecté à fb')" src = "https://www.facebook.com/login.php?next=https% 3A% 2F% 2Fwww.facebook.com% 2Ffavicon.ico "> 

Avec ces manipulations simples avec des icônes, vous pouvez collecter des informations sur les services que le public utilise le site à son insu. Ce mécanisme fonctionne pour presque tous les principaux services Web, car ils stockent tous leurs icônes sur le domaine principal.

Cette vulnérabilité peut être utilisée comme l'une des étapes d'autres types d'attaques, telles que ClickJacking ou ProfileJacking .

Réponse du service

Le problème de l'accès à l'information sur les autres services qu'une personne utilise est connu depuis longtemps, mais la plupart des entreprises sont ignorées. Voici quelques réponses reçues des rapports de bogues de Robin provenant de certains des plus grands services et plateformes sociales.

Facebook:

Merci pour votre message. Cette question a été discutée avec le groupe responsable de la sécurité dans Facebook et cette erreur ne peut pas participer au programme bounty bug. Il ne s'applique pas à un utilisateur Facebook spécifique. La possibilité de savoir où l'utilisateur s'est connecté au site est autorisée ne constitue pas une menace pour la sécurité. Dans tous les cas, nous avons apprécié votre rapport et attendons avec impatience de recevoir d'autres messages d'erreur.

Twitter:

Merci pour votre rapport. Bien sûr, cela semble intéressant, mais je ne vois pas comment ce problème peut constituer une menace pour la sécurité de Twitter et de ses utilisateurs. Donc, j'ai peur que ce problème puisse être considéré comme clos et ne puisse pas prétendre participer au programme de bounty bug. Merci pour votre inquiétude concernant la sécurité de Twitter.

Yahoo:

Merci de nous avoir contacté. C'est un problème connu, qu'Emery Grossman a déjà mentionné . Nous réfléchirons à la façon de le résoudre à l'avenir.

Carré:

Merci de nous avoir contacté. Nous sommes arrivés à la conclusion que ce problème représente un risque minimum et que, par conséquent, aucun changement ne sera apporté au code pour le résoudre.

Dropbox:

Merci! Nous prendrons cette menace en compte.

En fait, la position de la plupart des services est claire - si la vulnérabilité ne conduit pas au vol de données personnelles / données de compte / ne donne accès à aucune catégorie de données, alors ce n'est pas une vulnérabilité.

FIX

Dans Opera sauve le cadre de blocage des cookies de sites tiers : https://imgd.ru/image/uchm , et quand il est désactivé, "tout devient clair" .

Via habrahabr.ru/post/312636/