Как стать автором
Обновить

Закрытая уязвимость CSRF в Facebook

Время на прочтение2 мин
Количество просмотров14K
image

Уязвимость была обнаружена Josip Franjković и устранена около двух месяцев назад, а вчера автор рассказал про нее в блоге pyx.io. У бага есть схожесть с находкой Дэна Меламеда.

Для проведения эксплоита требовался аккаунт в Facebook, почта на Outlook.com и жертва. При этом email в Outlook не должен был быть привязан к вашему аккаунту Facebook.

В Facebook есть функция в "Поиск контактов на Facebook" (Find contacts on Facebook), которая приглашает контакты из списка ваших контактов и добавляет email к вашему аккаунт.

Когда вы разрешаете Facebook доступ к контактной книге Outlook, происходит запрос GET к
m.facebook.com/contact-importer/login/?api_instance=1&api_ver=wave5&auth_token=TOKEN
который добавляет email к вашему аккаунту.

Валидный токен, который получал автор:
{"code":"2c59ed24-8674-a76a-3232-6fse0d6d5cc7",
"redirect_uri":"https://www.facebook.com/accept_token.php?api_ver=wave5&csrf=AQDt6cT&
appdata={"use_case":1,"type":1,"flow":30,"domain_id":4,"tracked_params":"[]","enc_uid":"AdjjCVjSQ3I1RFRllRz81ohsy737W7oipkrAYKmCYISHLHcmzi55G4GaGckcSCP97t0",
"post_login_redirect":"https:\/\/m.facebook.com\/contact-importer\/login\/?api_instance=1&api_ver=wave5"}"}

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

Алгоритм действий потенциального злоумышленника был следующим: использовать «Поиск контактов на Facebook» со своего аккаунта, при этом логируя все запросы; найти запрос к /contact-importer/login, отвязать добавленный email от своего аккаунта и каким-либо способом заставить жертву сделать запрос к /contact-importer/login. Теперь email будет добавлен к аккаунту жертвы, и можно воспользоваться функцией «Забыл свой пароль» для получения доступа к нему.

Видео с демонстрацией эксплойта:

Теги:
Хабы:
+6
Комментарии3

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн