Индийский специалист по безопасности Лаксман Мутиях (Laxman Muthiyah) неоднократно зарабатывал неплохие деньги на программах вознаграждения за найденные уязвимости. Мутиях дважды находил дыры в коде Facebook. Нашел он и третью. Баг позволяет взламывать так называемые Facebook business pages, то есть страницы компаний и различных сообществ.

Ранее Мутиях уже находил уязвимость, позволявшую удалять чужие фотоальбомы, за что получил от социальной сети $12 500. Затем, буквально месяц спустя, он обнаружил брешь в Facebook Photo Sync feature и заработал еще $10 000. А теперь Мутиях нашел баг, при помощи которого можно взломать страницы, принадлежащие различным фирмам и сообществам, то есть страницы, которыми управляет не один пользователь.

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

Сторонним приложениям разрешено производить практически любые операции, в том числе, публиковать статусы от имени пользователя, публиковать фото, выполнять другие задачи, однако Facebook, казалось бы, не позволяет им добавлять кого-либо в список администраторов страницы или модифицировать его.

Зато Facebook позволяет администраторам присваивать различные роли людям, состоящим в организации\группе, через manage_pages – специальное разрешение доступа, запрашиваемое сторонними приложениями. Из-за этого, по словам исследователя, атакующий, при помощи простой последовательности запросов, может сделать себя админом определенной страницы Facebook.

Выглядеть это будет примерно так:

POST /PGID/userpermissions HTTP/1.1
Host: graph.facebook.com
Content-Length: 245
role=MANAGER&user=X&business=B&access_token=<application_access_token>

В данном примере страница PGID принадлежит компании B. Используя запрос manage_pages, можно присвоить пользователю X статус MANAGER, то есть сделать его администратором данной страницы. Фактически, атакующий может получить полный контроль над аккаунтом.

Чтобы удалить саму жертву из списка администраторов, тоже не потребуется много манипуляций:

Delete /<page_id>/userpermissions HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
user=<target_user_id>&access_token=<application_access_token>

Исследователь уже сообщил о проблеме в Facebook и получил причитающиеся ему $2500 вознаграждения. Социальная сеть, в свою очередь, отчиталась об устранении бага. Тем не менее, Мутиях рекомендует всем пользователям внимательно следить за тем, какой доступ и к чему именно они предоставляют сторонним приложениям.

Фото: mstable@flickr

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии