Pixel injection как путь к ФБ профайлингу

Apr 01, 2018 15:00

Еще год назад, когда написали про Кембридж Аналитика первый раз, я подумал, как можно сделать что то похожее самому.
Дырка позволяющая собрать информацию о друзьях была прикрыта еще в 2015, и вообще ФБ стал уже очень строгим при разрешении приложений, собирающих данные (при чем у старых приложений "на какой цветочек я похож" разрешение не отзывает, сука).

Но тогда у меня возникла идея попробывать встраивание невидимой картинки в 1х1 пиксель в посты, чтобы посмотреть что вытащить из кукис HTTP запроса, когда он придет на мой сервер. Более того, возникла идея делать такой же втсроенный пиксель и в картинках.

Идея вот в чем - через кукис, которые приходят в запросе пикселя, получить авторизацию как пользователь ФБ и попытаться скачать его профайл, подменив в запросе свой хост на имя хоста, на котором сидит юзер.
Вот мой репозиторий на GitHub,там я это делаю на котлине с помощью Spring Social facebook.

Как оказалось, это возможно лишь отчасти.
Во первых токен да, получается получить, но он валиден не более 1 секунды (видимо время, выделенное браузеру на скачивание контента со страницы фейсбука). Если у пользователя медленная сеть (я экспериментировал над собой ечрез медленный вай фай) это время растет.
Во вторых так можно скачать только ленту пользователя, которую он видит сейчас - т.е. в Spring Social API:
fbApiProvider.getAPI(userId).feedOperations().getFeed(id)
заменив перед этим токен request.setheader("Oauth-host", userHeaders.host)

Вобщем получается, что в среднем в 20% случаев я могу получить 5-10 постов из фида юзера, т.е. то, что он видит перед собой и в кэше его браузера. Что он лайкнул, что нет я таким образом не знаю. Но если мой пост с волщебным пикселем попадется в ленте опять, я опять получаю возможность посмотреть на ленту.Картинки с пикселем, я расшаривал только на русскоязычных друзей, а не как Паблик, от греха подальше

Что с этим можно делать?
Я попытался во первых собрать какие то идентификаторы того, что в ленте - имена людей и имена сайтов на которые линки.
Потом попробывал про некоторых из них дать какой то таг. Ну скажет haaretz - "левые","мерец". Биби - "правые", "ликуд"
если я сам в ленте то "космос" :) Ну и т.д.

Потом попытался считать сколько каких тагов у кого.
Про каждый пост я сохранял его id,чтобы не считать его более двух раз.
Можно предположить, что если у кого то в ленте хаареца намного больше чем "исраэль айом", то даже не зная, что из этого он лайкает, можно предположить, что он скорее левый.

Т.е. так с определенной долей вероятности можно узнать что кого интересует.
Но от этого до информации что кому писать в письме и какого цвета делать фон, чтобы изменить его избирательные пристрастия далеко конечно :(

programming, software

Previous post Next post
Up