Перейти к содержимому

   

Уязвимость в Facebook Login


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1
HeavenlyBlow

HeavenlyBlow

    Местный

  • Модераторы
  • 57 сообщений

Все очень просто — если мы можем перелогинить пользователя в свой фейсбук то мы можем присоединить свой фейсбук к аккаунту жертвы на других вебсайтах. Жертва загружает нашу страничку и мы получаем доступ к аккаунту жертвы на Booking.com, Bit.ly, About.me, Stumbleupon, Angel.co, Mashable.com, Vimeo и куче других вебсайтов.

Шаг 1. Загрузка этого URL www.facebook.com/n/?mid=9dd1fd7G5af48de9ca58G0G86G119bb48c разлогинит любого пользователя FB

Шаг 2. Чтобы залогинить жертву под нашим аккаунтом фейсбук требует Origin=*.facebook.com при запросе на login.php. Origin передается самим браузером и содержит домен страницы откуда произведен запрос. Другими словами нам надо найти способ сделать POST запрос с самого фейсбука. Для Firefox этого не нужно — он не отсылает Origin вообще для обычных form-based запросов. Поэтому дальше хак специально для Хрома.

Создадим Canvas приложение с такими настройками:
t2sny90.png

Когда жертва попадает на apps.facebook.com/482922061740192 фейсбук шлет POST запрос по данному URL (должен быть не на facebook.com). Мы в свою очередь используем 307 редирект (сохраняет HTTP verb в отличии от 302) и это приводит к POST запросу на www.facebook.com/login.php?email=attackeremail.com&pass=password вместе с Origin: apps.facebook.com и нашим логином/паролем. Теперь жертва залогинена в наш фейсбук аккаунт.

Step 3. Осталось запустить процесс коннекта. Обычный

сработает.

Теперь когда наш фейсбук подключен к аккаунту жертвы мы можем напрямую зайти в аккаунт жертвы, отменять бронирования на booking.com или читать личные сообщения, или сменить пароль.

Данный простой баг использует три CSRF одновременно — на логауте, логине и на присоединении социального аккаунта. Первые два должен исправить фейсбук (но они отказались, это WontFix), последнее это задача самого разработчика.

Reconnect это инструмент для угона аккаунтов, можете копировать код и ломать кого угодно — мне не жалко. В качестве примера используются Booking.com, Bit.ly, About.me, Stumbleupon, Angel.co, Mashable.com, Vimeo, но любой другой вебсайт с Facebook Connect может быть уязвим. Например все Rails сайты использующие omniauth-facebook уязвимы.


  • ..:Made in Dobrый:.., German753, deloren и еще 1 это нравится

#2
Mr.Robot

Mr.Robot

    Продвинутый

  • Пользователи
  • PipPipPip
  • 197 сообщений
  • ГородСеть

Много вопросов, надеюсь ответишь на них в лс.


Сообщение отредактировал Mr.Robot: 09 December 2015 - 12:34 AM





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных