miércoles, diciembre 19, 2012

Un hipervínculo para cerrar las sesiones de Facebook

Como siempre en Facebook, y por esas "casualidades" de la vida que llegan cuando se está enredando un poco - como ya me sucedió en el articulo de Aplicaciones de Facebook y Privacidad -, logré generar una URL que apenas es visitada, si tienes la sesión de Facebook abierta, te la cierra automaticamente. Algo así como si fuera un CSRF a la página logout de Facebook, algo que se bloquea para evitar que se envien enlaces acortados con el link de logout a personas para causar molestias.

Sin embargo, como os contaba,  de pura casualidad - nada de brujería - pude hacer un enlace que realiza el logout automatico de cualquier cuenta. Os cuento a qué se debe esto. ¿Alguno de ustedes tiene dos cuentas en caralibro? Bueno yo soy una de esas personas, pongámosle nombre a las cuentas de la siguiente forma:
- Mi primer cuenta = c1
- Mi segunda cuenta = c2
Estando yo en c1 me diriji a mi correo donde me llegan las notificaciones de c2, y como siempre cada notificación tiene un enlace que lleva a la publicación en Facebook pero primero obviamente a la pagina para logearse en este caso en c2. Ingresamos en c2 y como es de esperarse lleva al login, pero la pregunta es, si ya tenia abierta mi sesión en c1 y estoy apunto de iniciar sesión con c2, ¿qué pasará con c1? La respuesta es sencilla: se cierra la sesión en c1, hayas o no ingresado en c2.

Les dejo una URL para que ustedes mismos prueben - no seaís malvados -, y ojo con el correo que figura en el login, no sea cosa que aparezca en las noticias que el Facebook de Sean Parker - primer presidente de caralibro - fue 'hackeado' o suplantadada su identidad:
http://www.facebook.com/n/?home.php&clk_loc=5&mid=72b01a8G5af400143243G0Gd4&bcode=1.1354826874.AbllucLcWqHQbSNM&n_m=sean%40foundersfund.com
Si navegan a ella se les cerrará su sesión de Facebook. Esto se debe a que tal vez, cómo se observa en la URL hay un código que indica que efectivamente ese hipervínculo no fue generado por nadie ajeno, por lo que es seguro abortar toda conexión al servidor y logearse nuevamente.

De parte de Facebook - estuve en contacto con ellos -, no han hecho nada para arreglar esto, y como siempre,  me dijieron que no es una falla de seguridad - que en parte tienen razón - pero es medio contradictorio que prohiban hacer logout automáticamente y en otros no.

Para terminar, solo comentaros que no es necesario tener dos cuentas para obtener el enlace, pero si para comprobar uno mismo que efectivamente el enlace cierra la sesión, que fue como lo descubrí. 
Podéis buscar tu propio enlace en el correo, y mediante Facebook mandarselo a algun amigo para que pruebe si su sesión se cierra.

Saludos
--
Ariel Ignacio La Cono
Microsoft Student Partner
ignataur@hotmail.com

5 comentarios:

Pousen dijo...

¿EstuBiste en contacto con ellos?
EstuBe --> estuve

Antonio dijo...

En realidad si es una falta de seguridad. Cuelale un keylogger a alguien y luego hazle cerrar la sesion de Facebook para que se loguee de nuevo... Es como el que dice que un XSS no es una fallo de seguridad.

keil dijo...

Hackers.txt, ya!!

MGalego dijo...

Esto es una vulnerabilidad de spoofing cojonuda.
Aprovechas la API para crear un enlace (og:title, og:description y go:image), que lleve a una copia de la página de inicio de Facebook con un iframe con esa URL para que le cierre la sesión. Modificas el formulario para que te guarde el pass en un txt y hala, a correr. Y encima lo puedes publicar en páginas de "señoras que..." Así que no sólo con tus contactos... Lo he comprobado con una cuenta que no uso y se lo he pasado a Facebook también por si las moscas...

Saludos.

Ariel Ignacio La Cono dijo...

MGalego
Tienes razón, no se me había ocurrido hacer eso antes debido a que Facebook no permite iframes pero se ve que igual hace el logout >:) Buen aporte

Entradas populares