Индийский специалист по безопасности Лаксман Мутиях (Laxman Muthiyah) неоднократно зарабатывал неплохие деньги на программах вознаграждения за найденные уязвимости. Мутиях дважды находил дыры в коде Facebook. Нашел он и третью. Баг позволяет взламывать так называемые Facebook business pages, то есть страницы компаний и различных сообществ.
Ранее Мутиях уже находил уязвимость, позволявшую удалять чужие фотоальбомы, за что получил от социальной сети $12 500. Затем, буквально месяц спустя, он обнаружил брешь в Facebook Photo Sync feature и заработал еще $10 000. А теперь Мутиях нашел баг, при помощи которого можно взломать страницы, принадлежащие различным фирмам и сообществам, то есть страницы, которыми управляет не один пользователь.
Мутиях рассказал в своем блоге, что сторонние приложения могут получить практически полный контроль над Facebook-страницей. В итоге, это может привести к тому, что жертва полностью утратит свои права администратора.
Сторонним приложениям разрешено производить практически любые операции, в том числе, публиковать статусы от имени пользователя, публиковать фото, выполнять другие задачи, однако Facebook, казалось бы, не позволяет им добавлять кого-либо в список администраторов страницы или модифицировать его.
Зато Facebook позволяет администраторам присваивать различные роли людям, состоящим в организации\группе, через manage_pages – специальное разрешение доступа, запрашиваемое сторонними приложениями. Из-за этого, по словам исследователя, атакующий, при помощи простой последовательности запросов, может сделать себя админом определенной страницы Facebook.
Выглядеть это будет примерно так:
Host: graph.facebook.com
Content-Length: 245
role=MANAGER&user=X&business=B&access_token=<application_access_token>
В данном примере страница PGID принадлежит компании B. Используя запрос manage_pages, можно присвоить пользователю X статус MANAGER, то есть сделать его администратором данной страницы. Фактически, атакующий может получить полный контроль над аккаунтом.
Чтобы удалить саму жертву из списка администраторов, тоже не потребуется много манипуляций:
Host : graph.facebook.com
Content-Length: 245
user=<target_user_id>&access_token=<application_access_token>
Исследователь уже сообщил о проблеме в Facebook и получил причитающиеся ему $2500 вознаграждения. Социальная сеть, в свою очередь, отчиталась об устранении бага. Тем не менее, Мутиях рекомендует всем пользователям внимательно следить за тем, какой доступ и к чему именно они предоставляют сторонним приложениям.
Фото: mstable@flickr