Descarga Enviar mensajes al muro de tus visitas y de sus amigos

mPaz

Cobre
Usuario de Bronce
Mensajes
736
Puntuación de reacción
1
Copio esta info del foro naranja, me ha parecido muy interesante..
Lógicamente no esperes una aplicación legitima de exito con esto.. si no mas bien para spammear alguna web etc en plan hardcore.
Lastima que unicamente funcione en Firefox

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 http://Facebook.com.

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

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/oaut...//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.

FALTA LA SEGUNDA PARTE, NO CABE TODO POR EL LIMITE DE CARACTERES...

- - - Actualización- - -

Que alguien escriba algo para poder poner la segunda parte del tutorial porque la limitación de caracteres no deja..
 

mPaz

Cobre
Usuario de Bronce
Mensajes
736
Puntuación de reacción
1
Segunda parte con los archivos de descarga

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

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
 
Arriba