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

Jede Website kann Informationen darüber erhalten, welche beliebten Dienste Sie autorisiert haben

Der Entwickler Robin Linus auf seiner Seite auf GitHub Pages (ein Besuch auf dem folgenden Link ist nicht sicher und es wird nicht empfohlen, ihn am Arbeitsplatz auszuführen, da die Seite zusätzlich zu den sichtbaren Teilen der Dienste überprüft, ob Sie bei Erwachsenen-Websites angemeldet sind ) demonstrierte, wie Websites einen "Medienfingerabdruck" von Ihnen erhalten können, dh, welche populären Dienste Benutzer angemeldet sind, auch ohne Autorisierung auf der besuchten Seite.

Für den Autor der Publikation sieht "media fingerprint" so aus und ist absolut richtig:

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

Und es ist sehr unangenehm.

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

Was ist die Essenz von

Zunächst erläutert der Autor des Hinweises, wie der Umleitungsvorgang zum Autorisierungsfenster fortschreitet.

Wenn wir im Inkognito-Modus auf den Link https://www.facebook.com/bookmarks/pages klicken, werden wir automatisch zum Anmeldebildschirm umgeleitet:

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

Beachten Sie den zweiten Teil des Links:

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

Dies ist die URL, zu der wir nach dem Autorisierungsverfahren auf Facebook zurückkehren werden. Aber wenn wir diese URL verwenden, um auf die Autorisierungsseite umzuleiten, wenn wir bereits auf der Website autorisiert sind, werden wir sofort zu Lesezeichen / Seiten gelangen .

Noch einmal:

  • Wenn wir nicht eingeloggt sind und zu https% 3A% 2F% 2Fwww.facebook.com% 2Fbookmarks% 2Fpages gehen, gehen wir zum Anmeldefenster.
  • Wenn wir eingeloggt sind, werden wir sofort unter https://www.facebook.com/bookmarks/pages auf denselben Link zugreifen.

Es scheint, dass alles logisch ist.

Die Richtlinie der großen Ressourcen, wie Facebook, erlaubt nicht, die Daten der Anfrage selbst zu empfangen, weil Die Verbindung erfolgt über HTTPS. Wir können jedoch jedes Bild von der Domain bekommen, wenn Sie in der login.php? Next = einen Link dazu angeben. Natürlich können Fotos von FB das nicht rausziehen, denn fast alle Bilder speichert das soziale Netzwerk unter der Adresse fbcdn.net, allerdings kann man auf das Facebook-Logo "klopfen" - favicon.ico:

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

Und verkleide es auf der Seite selbst mit dem img-Tag als:

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

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

Wenn Sie dieses Symbol FB ( Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы ), herzlichen Glückwunsch, wir haben nur sichergestellt, dass Sie bei Facebook eingeloggt sind (check). Wenn Sie nichts gesehen haben oder das Bild nicht geladen wurde, geben Sie das entsprechende Symbol ( Любой сайт может получить информацию о том, в каких популярных сервисах вы авторизированы ), bzw. auf Facebook sind Sie nicht eingeloggt .

Die endgültige Ausnutzung dieser Sicherheitsanfälligkeit ist wie folgt:

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

Mit diesen einfachen Manipulationen mit Icons können Sie Informationen darüber sammeln, welche Dienste die Zielgruppe ohne ihr Wissen nutzt. Dieser Mechanismus funktioniert für fast alle wichtigen Webdienste, da alle ihre Symbole in der Hauptdomäne speichern.

Diese Sicherheitsanfälligkeit kann als eine der Stufen anderer Angriffstypen wie ClickJacking oder ProfileJacking verwendet werden .

Service-Antwort

Das Problem des Zugangs zu Informationen darüber, welche anderen Dienste eine Person nutzt, ist seit langem bekannt, aber die meisten Unternehmen werden ignoriert. Hier sind ein paar Antworten von Robins Bug-Berichten von einigen der größten Dienste und sozialen Plattformen.

Facebook:

Danke für deine Nachricht. Dieses Problem wurde mit der für Sicherheit in Facebook verantwortlichen Gruppe diskutiert und dieser Fehler kann nicht am Bug Bounty-Programm teilnehmen. Es gilt nicht für einen bestimmten Facebook-Nutzer. Die Möglichkeit, herauszufinden, wo sich der Benutzer an der Site angemeldet hat, ist nicht gefährdet. In jedem Fall schätzen wir Ihren Bericht und freuen uns darauf, von Ihnen weitere Fehlermeldungen zu hören.

Twitter:

Vielen Dank für Ihren Bericht. Das sieht natürlich interessant aus, aber ich sehe nicht, wie dieses Problem die Sicherheit von Twitter und seinen Nutzern gefährden kann. Ich fürchte also, dass dieses Problem als abgeschlossen betrachtet werden kann und nicht behaupten kann, am Bug Bounty Programm teilzunehmen. Vielen Dank für Ihr Interesse an der Sicherheit von Twitter.

Yahoo:

Danke, dass Sie uns kontaktiert haben. Dies ist ein bekanntes Problem, das Emery Grossman bereits erwähnt hat . Wir werden darüber nachdenken, wie wir es in Zukunft lösen können.

Quadrat:

Danke, dass Sie uns kontaktiert haben. Wir sind zu dem Schluss gekommen, dass dieses Problem ein minimales Risiko darstellt und daher keine Änderungen am Code vorgenommen werden, um es zu lösen.

Dropbox:

Vielen Dank! Wir werden diese Bedrohung berücksichtigen.

Tatsächlich ist die Position der meisten Dienste eindeutig - wenn die Sicherheitslücke nicht zum Diebstahl persönlicher Daten / Kontodaten führt / keinen Zugriff auf eine Datenkategorie gewährt, ist dies keine Sicherheitslücke.

FIX

In Opera rettet das Setzen von blockierenden Cookies von Drittanbieter-Sites : https://imgd.ru/image/uchm , und wenn es ausgeschaltet ist, wird "alles klar" .

Via habrahabr.ru/post/312636/