viernes, abril 11, 2014

Método de Link Redirect en Facebook con Facebook Apps

Una vulnerabilidad de Link Redirect dentro de una red social puede ser un fallo de seguridad que afecte seriamente a la privacidad de los usuarios. Supuestamente, cuando una persona hace clic en un enlace publicado en Facebook, lo hace confiado en que va a visitar el sitio que aparece en el hipervícunlo.

Facebook avisa si ese enlace está fuera de su red para que el usuario que ha hecho clic tome precauciones y asuma que puede ser un sitio malicioso fuera de la red que registre su dirección IP, lance algún exploit contra su navegador o simplemente pretenda robar las credenciales de Facebook con un Phishing.

Es por eso que los equipos de seguridad de Facebook cierran todos los Link Redirect que van apareciendo, como el que publiqué en el blog hace no mucho que era un Redirect en Facebook para hacer Phishing a Facebook pero que ya no es funcional en las nuevas versiones de la red social.

Sin embargo, los fallos de seguridad aparecen y desaparecen constantemente y Androw Mauricio ha propuesto este método para conseguir publicar un enlace con la dirección de cualquier sitio, por ejemplo www.facebook.com, y que el hipervínculo realmente lleve a otro servidor. Este es el método paso a paso para que lo puedas replicar.

Saludos Malignos!

Link Redirection en Facebook a través FacebookApps por Androw Mauricio

Paso 1: Registrarte en https://developers.facebook.com/, para que puedas crear una App con tu cuenta de Facebook.

Figura 1: Web de developers en Facebook 

Paso 2: Regístrate en https://id.heroku.com/signup, Necesitamos una plataforma en la nube que soporte gran variedad de lenguajes y nos dé la posibilidad de usar el protocolo SSL para la integración de nuestra App a Facebook, y Heroku es la mejor opción si no posees servidor propio.

Figura 2: Registro en el servicio de Heroku

Paso 3: Descarguemos Heroku + Git Bash . Como se puede ver Heroku es multiplataforma así que no importa el sistema operativo que uses que de igual manera podrás instalarlo.

Figura 3: Descarga de Heroku toolbelt

Paso 4: Al ya estar registrado en Facebook Developers, ya podrás empezar a crear aplicaciones, entonces comencemos y creamos una aplicación.

Figura 4: Creación de una Facebook App

Es importante que tengamos cuidado con el App Secret, ya que pueden suplantar nuestra aplicación de alguna manera, esto es un tutorial de como se hace, terminado el tutorial se procederá a borrar esta aplicación.

Figura 5: Creación de la App. Nombre, namespace y categoría de la App.

Paso 5: Abrimos Git Bash, e iniciamos sesión con los datos de Heroku, con el siguiente comando: heroku login. Luego pasaremos a crear una app dentro de Heroku, ejecutamos el siguiente comando: heroku create

Figura 6: Login en Heroku
Luego de crear la App, heroku nos muestra nuestro el enlace de ingreso, y el git para copiar la App a nuestro equipo local, y así manipularla con comodidad.

Paso 6: Copiar la App creada a nuestro equipos usando el siguiente comando git clone más el git de nuestra App. Esto quedaría tal que así: git clone git@heroku.com:salty-headland-2759.git

Luego de creada, ingresamos a la carpeta - que en este caso tendrá el mismo nombre de la aplicación - y le otorgamos la conexión remota con Heroku con el comando git remote add heroku más el git de nuestra App. Esto quedaría entonces tal que así:  git remote add heroku git@heroku.com:salty-headland-2759.git

Figura 7: Clonación y Conexión con Heroku de la App en git

Paso 7: Bajamos el SDK de Facebook, en este caso de PHP, y copiamos la carpeta /src a nuestra aplicación. Luego creamos un archivo index.php, donde pondremos la ruta de la carpeta src, y nuestros datos de la App de Facebook, como son el AppId y AppSecret.

Figura 8: Creando el fichero index.php de nuestra Facebook App

Paso 8: Configuramos los datos obtenidos de nuestra App en Heroku en nuestra plataforma de Facebook Developers en los campos :
  • App Domains
  • Dirección web de la aplicación en Facebook
  • Secure Canvas URL
  • Site URL
Llenamos todos los campos posibles como el correo o información de la App, para que luego no tengas que hacerlo, pero los campos más importantes fueron los anteriormente mencionados.

Figura 9: Datos de la App de Facebook

Si todo lo configuramos bien ya nuestra App puede abrirse en Facebook, con el enlace de Pagina principal de la aplicación, en mi caso será este https://apps.facebook.com/635516806517447/. Puedes mirar el tuyo en tu configuración.

Figura 10: Nueva App de Facebook creada

Paso 9: Ahora ya pueden usar el ejemplo de Facebook Post Links Using the Graph API, para integrarlo en su App.

Figura 11: Publicar enlaces usando la Graph API

Este código permite publicar a través de una Facebook App, en los muros propios o en páginas de Facebook. ¿Cómo se logra hacer una redirección a otra pagina? Como pueden observar se crea otra función en ese mismo código y se cambia el orden en el cual se llaman las variables para ser publicadas, esto permite que alguien publique un enlace a www.facebook.com, que realmente nos dirija a cualquier otra página, en este caso www.google.com. 

Figura 12: Publicación del enlace con la redirección cambiada

Paso 10: Subir nuestra App a Heroku. Para esto vamos a usar 3 comandos simples, dos verifican y uno sube la App.
1- git add -A
2- git commit -am "mensaje de subida"
3- git push heroku master
Procedemos a subir nuestra aplicación recuerden estar dentro de su carpeta.

Figura 13: Subida de la App a Heroku

Paso 11: Por último abrimos nuestra aplicación y publicamos lo que deseemos. Luego, al mirar el resultado se puede ver como efectivamente nos direccionará a otro dominio que no es el mostrado en el hipervínculo que apunta a Facebook.

Figura 14: Redirección de Facebook que apunta a Google

Estos fue todo, demostrando una vez más que métodos siempre habrán muchos, Saludos!

Autor: Androw Mauricio
Facebook : https://www.fb.com/XxAnDrOwxX

8 comentarios:

  1. Androw, si requiere interaccion con el usuario no es un open redirect

    ResponderEliminar
  2. Excelente método, aunque un poco complicado para los novatos.

    ResponderEliminar
  3. Usando la plataforma de aplicaciones, muy buena idea voy a probarlo, saludos maligno (Y)

    ResponderEliminar
  4. Estos temas Facebook debería tener cuidado ya que claramente sale su dominio, y te redirige ya sea a un phishing o alguna cosa, muy bueno.

    ResponderEliminar
  5. Buen Método!

    Algo similar se puede lograr, usando algunos caracteres especiales para hacerle un "bypass" a la validación de url... y lograr el efecto...

    ResponderEliminar
  6. No estoy seguro pero ese método ya lo había visto antes, pero no el tutorial, si no en el muro porque al ver la imagen me di cuenta rápidamente que el link apuntaba a otra dirección.

    ResponderEliminar
  7. hola buenas muy bueno el tutorial y gracias por hacerlo, pero una pregunta estoy estancado en el paso 9 que codigo tengo que poner??? y como en el indes.php??

    ResponderEliminar