...

воскресенье, 20 октября 2013 г.

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

image



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

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


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



Когда вы разрешаете Facebook доступ к контактной книге Outlook, происходит запрос GET к

https://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 будет добавлен к аккаунту жертвы, и можно воспользоваться функцией «Забыл свой пароль» для получения доступа к нему.


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



This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

Отправить комментарий