Уязвимости в Facebook раскрывали списки друзей и платежные данные

Back to Blog
Уязвимости в Facebook раскрывали списки друзей и платежные данные

Уязвимости в Facebook раскрывали списки друзей и платежные данные

Уязвимости в Facebook раскрывали списки друзей и платежные данные

Уязвимости в Facebook для Android позволяли получить списки друзей и платежные данные пользователей.

Исследователь безопасности Йосип Франькович (Josip Franjković) обнаружил в приложении Facebook для Android уязвимости, позволяющие получить доступ к списку друзей пользователей соцсети и узнать их платежные данные.

У Facebook есть конечная точка GraphQL, использующаяся только некоторыми приложениями от самих разработчиков Facebook, пояснил Франькович. Как правило, для запроса GraphQL необходим токен доступа (access_token) пользователя или страницы.

«Я решил попытаться использовать клиентский токен приложения Facebook для Android, но конечная точка вернула сообщение об ошибке. Я не отправлял постоянный запрос, однако в сообщении сообщалось, что разрешены только постоянные запросы из белого списка. Поскольку я собираю постоянные GraphQL-запросы Facebook, я решил запустить парочку из них и посмотреть, есть ли они в белом списке», – сообщил Франькович.

Исследователю не удалось найти запрос из белого списка – каждый раз появлялось одно и то же сообщение об ошибке. Тогда он вспомнил о другом способе отправки постоянных запросов, предполагающем использование doc_id в качестве ID запроса. Сообщение об ошибке больше не появлялось, но практически каждый раз ответ содержал публично доступные данные. Тем не менее, на запрос «CSPlaygroundGraphQLFriendsQuery» исследователь получил ответ со списком друзей, несмотря на установленные пользователем настройки конфиденциальности.

Франькович уведомил Facebook о проблеме в начале октября прошлого года, и компания вскоре исправила ее.

Как уже упоминалось, исследователь также обнаружил уязвимость, раскрывавшую платежные данные любого пользователя Facebook. Проблема в Graph API позволяла с помощью поля payment_modules_options получить такие данные, как первые шесть цифр номера банковской карты, указывающие на банк-эмитент, последние четыре цифры, месяц и год истечения срока действия карты, тип карты, имя держателя карты, индекс и страну.

Франькович обнаружил уязвимость, перехватив все запросы, отправляемые приложением Facebook для Android в процессе регистрации и авторизации. Исследователь сообщил о ней Facebook 23 февраля текущего года, и спустя 13 часов проблема была исправлена.

Поделиться этим постом

Back to Blog