Любой сайт может получить информацию о вас!

Любой сайт может получить информацию о вас!

BezLich

Разработчик Робин Линус на своей странице на GitHub Pages (визит по следующей ссылке небезопасен и его не рекомендуется выполнять с рабочего места, так как кроме видимой части сервисов страница проверяет, залогинены ли вы на сайтах для взрослых, а это останется в логах файрволла как попытка перехода прим.) продемонстрировал, как сайты могут снимать с вас «медийный отпечаток», то есть вести учет того, в каких популярных сервисах залогинены посетители даже без какой-либо авторизации на посещаемой странице. 


«медийный отпечаток» выглядит следующим образом и является абсолютно верным:

И это весьма неприятно.


В чем суть

Для начала автор заметки объясняет, как происходит процедура перенаправления на окно авторизации.


Если мы перейдем по ссылке https://www.facebook.com/bookmarks/pages в инкогнито-режиме, то нас автоматически перенаправит на экран авторизации по адресу:

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


Обратите внимание на вторую часть ссылки вида:

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


Это URL, на который нас вернет после того, как мы пройдем процедуру авторизации на Facebook. Но если мы используем этот URL для перенаправления на страницу авторизации, когда мы уже авторизированы на сайте, то мы сразу попадем на bookmarks/pages


Еще раз:

  • Если мы не залогинены и переходим по https%3A%2F%2Fwww.facebook.com%2Fbookmarks%2Fpages, то мы попадаем на окно авторизации.
  • Если мы залогинены, то мы по этому же линку попадем сразу на https://www.facebook.com/bookmarks/pages.


Вроде, все логично.


Политика крупных ресурсов, таких как Facebook, не позволяет получать данные самого запроса, т.к. соединение происходит по HTTPS. Однако, мы можем получить любое изображение с домена, если указать ссылку на него в login.php?next=. Конечно, фотки из FB так вытянуть не получится, потому что почти все изображения социальная сеть хранит по адресу fbcdn.net, однако, можно «постучаться» на лого Facebook — favicon.ico:

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


А на самом сайте замаскировать это через img-тэг как <img src="https://www.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Ffavicon.ico">


Если выше вы увидели значок FB, поздравляю, мы только что убедились, что вы залогинены в Facebook (проверьте). Если вы ничего не увидели или изображение не прогрузилось, вернув соответствующий значок, то, соответственно, в Facebook вы не залогинены.


Финальная эксплуатация данной уязвимости выглядит следующим образом: 

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


С помощью этих нехитрых манипуляций с иконками можно собирать информацию о том, какими сервисами пользуется аудитория сайта без её ведома. Данный механизм работает почти для всех основных веб-сервисов, так как все они хранят свои иконки на основном домене. 


Эту уязвимость можно использовать как один из этапов других типов атак, таких как ClickJacking или ProfileJacking.

⚡️Читайте Самые интересные материалы про Безопасность на Канале Безопасность Личности⚡️

Report Page