mPaz
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
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..
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..