Tutorial: Cómo publicar automáticamente en el muro de Facebook de tus amigos usando una falla de seguridad en Firefox

rounder Seguir
Seguidores
13

Pi
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
9 May 2012
Mensajes
5.158
Bueno primero les dejo un video para que vean que es lo que hace:

Facebook - YouTube


ESTO SOLO FUNCIONA EN FIREFOX

Si pruebas el demo un post va a publicarse en tu muro y el de tus amigos, si no estas conforme con eso NO ENTRES AL URL:

Demo URL: http://crazyflx.com/fbexploit/ - DEBES ESTAR LOGUEADO A FACEBOOK

No se te pedira acceso directo a tu cuenta, ni permiso para loguearte, tampoco te pedira ni tendra acceso a tu contraseña

¿Que es lo que hace?

Si estas logueado a facebook usando Firefox y entras al URL demo, se te pedira que entres un codigo captcha. Una vez que lo pones, un post se publicara automaticamente en tu muro y el de tus amigos. No se te pedira que instales ninguna APP, no veras ningun POPUP, de hecho no tendras que hacer nada, excepto meter el captcha y mandarlo

¿Como funciona?

Bueno, estamos aprovechando una falla de seguridad de Firefox y explotando algo que Facebook esta haciendo. El exploit de seguridad esta iFrameando el codigo fuente de otra pagina. Esto no deberia ser permitido, y de hecho ellos se aseguraron que no pudieras iFramear el codigo fuente de otra pagina asi:

Code:
<iframe name="foo" width="10000px" height="10000px" src="view-source:http://test.com"></iframe>

Entonces estan en el camino correcto, PERO se les olvido que tampoco debes permitir iFramear sus pestañas "Especificas de Firefox", como por ejemplo la pestaña del "Feed". Desconozco el termino correcto para esto pero veran de lo que hablo si en lugar de iFramear "view-source:http://test.com" iframeas esto: "view-source:feed:view-source:https://test.com".

En Firefox lo que veras que pase es que yo puedo despleagar el codigo fuende de otro sitio en mi sitio... esto es el primer paso en hacer algo de magia negra. Ahora vamos a regresar a Facebook y amarrar esto que acabamos de explicar

Cuando vas a cualquier sitio web y poner informacion y haces click en "Enviar", estas enviando una forma a algun lugar. En facebook, cuando llenas un post para que aparezca en tu muro, y le das click en "Enviar", esa forma es enviada a su sitio.

¿Que es lo que previene que yo simplemente copie esa forma y la ponga en mi stio web, ahi llene la informacion y luego la mande a facebook? ... pues muchas cosas en realidad. Elos tienen un token especial que es generado para cada uno de los usuarios que esta logueado a Facebook. Este token cambia al azar y para todos los propositos, es imposible descifrarlo ademas que es unico para cada usuario. Este token se llama (on facebook) "fb_dtsg". Esta es su proteccion CSRF protection...CSRF quiere decir "cross site request forgery". En otras palabras, ese token prevee que una persona mande un formulario desde http://NotFacebook.com a Update Your Browser | Facebook.

Sin embargo, si tu pudieras poner tus manos en esa token, tu SI PUEDES enviar un formulario en nombre del dueño del token desde cualquier sitio web a Facebook.com y funcionara(NO un cURL POST, porque eso pasa en otro servido aparte y necesitarias MUCHO MAS que solo el token CSRF ). A lo que me refiero es que puedes enviar un formulario web desde un URL diferente.

Facebook tiene proteccon contra iframing en su sitio usando opciones x-frame. Esta proteccion quiere decir que, en el nivel de navegador, todos los intentos para iFramear seran parados. Sin embargo, ya que Facebook tiene todos esos "plugins" (los cuales puedes ver aqui: https://developers.facebook.com/docs/plugins/ - como por ejemplo el "boton like" ese es un ejemplo de un plugin de FB) a los cuales les es permitido ser utilizados en sitios que no son Facebook, tambien tienen que permitirles iFramear algunos URL's de otra manera, no podria tenerse botones de "plugins" en otros sitios web.

Esto quiere decir que todos los URL's de los plugin (comienzan con: https://www.facebook.com/plugins/ y terminan con una variedad de direcciones, todos pueden ser encontrados en la luga de arriba fb.com/plugins) pueden ser iframeados. Pues sucede que facebook ha incluido el token CSRF justo aqui en el codigo fuente de estos iframeables URLs.

Combina esto con el fallo de seguridad de Facebook y tienes los ingredientes listos :D

Ahora si vamos a los PASOS

Bueno vamos a ver que es lo que pasa, paso a paso en el DEMO

LLegas al URL metes el captcha. El "captcha" que te aparece es en realidad tu token FB CSRF , el cual esta siendo desplegado hacia ti al iFramear este URL: feed:view-source:https://www.facebook.com/plugins/registration (ojo, solo funciona en firefox). Bueno todavia nos falta crear un iframe en "fb-register.html" y iframear ese URL.

Entonces, en esta paginaq ue llegas al demo, nosotros ya iframeamos ESA URL (resultando en un nido doble de iframes). Al iframear la URL tenemos nuestro iFrame on, y podemos controlar que parte del codigo es desplegada cuando llegas al URL del demo, asi que lo controlamos para que solo muestre el token CSRF.

Entonces metes el token y le das submit. Lo que pasa entonces es que el formulario es enviado del DEMO a Facebook.com. ¿Que formulario? Pues el formulario que es normalmente enviado cuando le das permiso a una aplicacion de facebook. Pueden ver un ejemplo del formularo que va a ser enviado visitando: https://www.facebook.com/dialog/oauth?client_id=189770671194636&redirect_uri=http://crazyflx.com

Ese formulario es enviado cuando le das click en el "okay" de la pagina es el formulario que va a ser enviando desde mi sitio a facebook, usando el token CSRFT que me acabas de dar. La razon por la cual no podemos hacer un POST PHP a la pagina de envio desde mi sitio, es porque eso requeriria acceso a los cookies de facebook, lo cual no tenemos. Si simplemente envio un"formulario web" sin embargo, facebook solo checa el token CSRF y si es valido, genera automaticamente todo el resto de la informacion por miya que el envio del formulario esta pasando acualemten en mi PC y no en mi servidor.

Lo que pasa entonces es que has marcado uan de tus aplicaciones de facebook como si tuviera permisos para acceder a tu cuenta (informacion basica como nombre ID y otras cosas)...sin embargo es no es suficiente. Eso no me va a dar una lista de sus amigos y necesito esta lista...

Lo que necesito ahora es marcar esa cuenta como si tuvera pemisos para accesa a otra de mis aplicaciones de facebook, pero esta aplicacion me dara acceso a TODO, lista de amigos, correo, fecha de nacimiento TODO.

Desafortunadamente, facebook recientemente hizo algunos cambos que nos obligan a hacer otro paso para obtener estos permisos, lo que quiere decir que tenemos que enviar otro formulario para darnos otro permiso, lo que no podemos falsear ya que eso requeriria interaccion del usuario lo cual no pediremos. Sin embargo dejaron atras la funcionalidad de dar permiso a cualquier cantidad de permisos si haz hecho click al boton "visit website" de alguna app en el appcenter, como lo que ves aqui https://www.facebook.com/appcenter/eighttracks

Entonces si tengo una app que tiene todos los permisos y tengo el Token CSRF, puedo enviar el formulario que se envia cuando das click a "visit website" desde mi sitio entonces ya tengo todo! Sin embargo, para poder enviar ese formulario necesito el token CSRF Y necesito en ID del usuario (no el username sino los numeros del ID) . Bueno como ya tengo permisos regulares de una app ya tengo acceso al ID del usuario, asi que usando esto vamos a enviar un formulario diferente para que marque mi segunda aplicacion con permisos completos para publicar en mi muro y en los muros de mis amigos

Ahora que he marcado mis dos aplicaciones con los permisos para acceder a mi cuenbta, solo necesito hacer el post ! el primer posr en tu muro, puede ser hecho usando Facebook SDK ya que ahora tengo un token de acceso valido que fue generado inemdiataente al marcar mis aplicaciones como "aprobadas"

Desafortunadamente, facebook recientemente quito la habilidad de una app para pubicar en los muros de tus amigos. Sin embargo, ya que tengo el token CSRF , puedo falsificar formularios de envio tambien! Asi que usando mi token valida de acceso, el DEMO genera una lista de las ID's de las cuentas de tus amigos. Y hace un bucle con estas ID's enviando una tras otra usando el toekn CSRF

Como hacerlo

Primero haz dos aplicaciones en facebook. Entra en tu cuenta de facebook y ve aqui: https://developers.facebook.com/apps?ref=mb

Ya que hagas tus dos aplicaciones. Puedes usar todos los valores default y el nombre que tu quieras, eso no importa. Despues que han sido creadas, haz click en el boton "editar" de una de tus aplicaciones y dale click en "permisos"

Asegurate que tengas "publish_actions" y "read_friendlists" como permisos. Puedes darte todos los permisos que quieras, mientras mas permisos tengas, mas posibilidades tendras de hacer mas cosas usando solo el codigo PHP (sin que la persona tenga que estar en tu sitio web, puedes postear en su cuenta y/o obtener su informacion).

Asegurate que tambien pongas "default activity privacy" a publica (esto esta tambien en los permisos de la pagina).

Entonces, por ultimo, para cada una de estas dos apps, anote & salve el "App ID" y el "App Secret" (esto puede ser encontrado en la pestaña "basic" despues que estes editando una app).


LOS ARCHIVOS

Aqui esta la liga para descargar el archivo, esta en un archivo zpeado que contiene 2 folders. Un folder es "php-sdk" el cual contiene el PHP SDK como lo provee facebook. El otro folder contiene el "demo" y contiene los archivos que necesitas para poder lograr lo que se ve en el URL del DEMO y todo lo que hemos visto hasta ahorita

Debes subir ambos folders a la raiz de tu stio web para que puedas accesarlos yendo a : http://tusitio.com/php-sdk & http://tusitio.com/demo

Link: folders.rar

Tienes que editar los siguientes archivos en el folder DEMO:

CAMBIA EL VALOR DEL APP ID EN FRIENDS-POST.PHP
CAMBIA APP ID Y APP SECRET EN POST.PHP
CAMBIA APP ID A GRANT-READ & GRANT-WRITE PERMISSIONS.HTML FILES (conceder lectura y escritura)
CAMBIA APP ID & APP SECRET EN LOS URLS EN TOKEN.PHP

AGREGADO: grant-read-permissions.html - Aqui el valor del app id value debe ser el app ID de la app 1 (la basica con menos permisos...)

grant-write-permissions.html - Aqui el valor del app id debe ser el de la app 2 (la que tiene permisos elevados)

token.php - los valores app id & app secret values en este archivo deben ser los de la app 1

post.php & friends-post.php - los valores app id & app secret deben de ser los valores de la app 2

Se ha intentado designar cada uno de los archivos usando strings largos XXXXXXXX donde necesitas cambiar el app ID's & app secrets. Tambien vas a tener que cambiar cualquier texto que diga "crazyflx.com/fbexploit" con tu sitio y el folder donde subiste los archivos en el folder DEMO.

Espero que les sirva y si alguien tiene preguntas, tratare de contestarles, el script no lo hice yo pero conozco al que lo hizo
 
Última edición:

ANAKI47

Gamma
Social Media
Desde
2 Feb 2013
Mensajes
396
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
muy bueno ... lastima que casi nadie use firefox
 

victor167

Alfa
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 Mar 2012
Mensajes
25
jajaja valla fallo de seguridad. Muchos confian en firefox por su seguridad y ahora mira con que nos salio XD
 

Falcon

Zeta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Desde
29 Dic 2011
Mensajes
1.727
jajaja valla fallo de seguridad. Muchos confian en firefox por su seguridad y ahora mira con que nos salio XD

Yo uso firefox siempre y creeme somos muchos ...

muy bueno el tuto gracias :rolleyes:
 

santiagojim

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
8 Abr 2013
Mensajes
454
Me Interesa Buen Tuto Amigo sigue asi yo tambien uso Firefox

Saludos :topsy_turvy:
 

pedro salinas

Pi
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Feliz cumpleaños!
Desde
20 Feb 2010
Mensajes
5.188
Funciona :welcoming: .... Ok no aun no lo aplico :p

Pero espero hacerlo
 

epsilo99

1
Xi
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Desde
1 Dic 2011
Mensajes
4.136
Siempre pide capcha? también cuando lo instale en mi sitio?
 

hugomiguel2002

Préstamo
Social Media
No recomendado
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
26 Oct 2012
Mensajes
1.543
Eso no es seguro un ban para la app en poco tiempo? Aunque tambien no seria una practica de "phishing"?
 

Juvinao

1
Xi
Programador
Verificación en dos pasos activada
Suscripción a IA
Desde
25 Sep 2011
Mensajes
4.466
Buen tutorial, a favoritos, antes usaba Firefox, ahora me pase a Chrome ;)
 

rounder

Pi
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
9 May 2012
Mensajes
5.158
Siempre pide capcha? también cuando lo instale en mi sitio?

no el captcha no es realmente es un captcha tienes que leer el tutorial, el captcha en realidad es el token, no es en realidad un captcha solo haces creer al usuario que lo es

---------- Post agregado el 19-ago-2013 hora: 22:42 ----------

Eso no es seguro un ban para la app en poco tiempo? Aunque tambien no seria una practica de "phishing"?

la app no sirve de nada mas que para usar el truco, en realidad nunca pide autorizacion a nadie para autorizarla, y no no es phising es un Exploit que aprovecha vulnerabilidades
 

igorlomas

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Mar 2013
Mensajes
54
Espero que esto me sirva dentro de unos meses... Solo me toca probar ^_^ Muchas gracias :encouragement:
 

Ford

Delta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 May 2012
Mensajes
627
Gracias por el aporte, en cuanto lo pruebe les cuento! ;)
 
Arriba