Esto es solo algo de lo que se puede hacer con FQL, lo demas, es creatividad de ustedes ;D
Bien, en primer instancia, que es FQL?. FQL es el facebook query language, un lenguaje de consulta proporcionado por dicha empresa para el desarrollo de aplicativos y otras yerbas :P http://wiki.developers.facebook.com/index.php/FQL (http://wiki.developers.facebook.com/index.php/FQL).
Vayamos al grano directamente....
Me encontraba boludeando en la parte de las tablas de FQL, exactamente en la de ALBUM y note que 2 atributos de la tabla eran LOCATION y LINK (la locacion del album) y haciendo la siguiente consulta en http://developers.facebook.com/tools.php (http://developers.facebook.com/tools.php).
SELECT location, link
FROM album
WHERE owner=xxxxxxxxxx
Siendo el owner un user id de CUALQUIER USUARIO, me encontre con el aid (album id) q se usa para la visualizacion de albumes . Asi se lo visualiza:
http://www.facebook.com/profile.php?id=MIID&v=photos&viewas=MIID#/album.php?aid=yyyyyyy&id=MIID
Ahora, q pasa si yo pusiera el id de CUALQUIER USUARIO, sabiendo q puedo obtener su aid con una consulta FQL?. Exactamente, podria ver su album sin siquiera ser su amigo...
Pongamos un ejemplo:
Me gustaria ver el album de pepito, q hago entonces?. En primer lugar lo busco, saco su id (en el link de "ver amigos" aparece...), hago la consulta FQL para sacar su aid. Despues pongo en la URL
http://www.facebook.com/profile.php?id=IDPEPITO&v=photos&viewas=MIID#/album.php?aid=yyyyyyy&id=IDPEPITO
Y voila...
Cualquier critica, correcion, etc, ya saben donde encontrarme.
Saludos
Tryptophan
Tienes razon!!
SELECT src FROM photo WHERE aid IN (SELECT aid FROM album WHERE owner IN (SELECT uid FROM user WHERE name="Eduardo Vela"))
Muy buen descubrimiento! Aunque no seria "injection", mas bien es que como que se les olvido que la relacion aid<->uid no deberia ser indexable..
En cualquier caso, muy buen descubrimiento, hacer un "PoC" deberia ser relativamente sencillo.. ya que Facebook da la API para hacerlo, hacer un buscador de personas que te muestre sus fotos estaria cool!
Si quieres reportar la vulnerabilidad (que de todas formas ya la hiciste publica), manda un mail a secure@facebook.com..
En cualquier caso, buen descubrimiento! si necesitas ayuda dinos.
Saludos!!
claro....pasa q a las 3 de la mañana no me daba el cerebro para ver q nombre ponerle, jajaja :P.
Saludos sirdarkcat!!
Esta muy interesante, ya lo probe y esta bien pero el problema que ocupas el nombre o el uid, voy a empezar a espiar a los amigos de mis amigos.
Saludos.
Interesante, no tenía idea de la existencia de FQL, ojalá se demoren en solucionarlo porque necesito ver unas fotos de alguien que no me ha aceptado :silbar: :xD
Edito: En efecto, puedo ver las fotos de todos :-X
Saludos
Lo probe si funciona.. me pondre a leer sobre eso de FQL esta interezante.
Saludos, Dacan :D
Que tal.
Parece que ya esta corregido.
Saludos.
No, si funciona, lo acabo de probar ;D
Saludos
A mi tampoco me funciona. que raro :-\ a ver de nuevo.
Que tal.
Haciendolo todo ( creo que correctamente! ), es esto lo que recibo:
(http://img10.imageshack.us/img10/777/fqli.png)
Bueno, Saludos.
Claro, yo llego a lo mismo pero en Español XD
Lo abran arreglado.
Cita de: Novlucker en 15 Marzo 2009, 22:22 PM
No, si funciona, lo acabo de probar ;D
Saludos
Pongan esto:
SELECT link FROM album WHERE owner=532437297
aca:
http://developers.facebook.com/tools.php
El link que sale es este:
http://www.facebook.com/album.php?aid=63080&id=532437297
Entran y ven el album.. necesitan tener cuenta en facebook.
Saludos!!
Que tal.
A ver.. yo uso el Method photos.getAlbums.
Tras ello, en el callback pongo lo citado.
Pero este "bug" deberia de servir para aquellas personas que no son tus amigos, y tienen restricciones puestas para ver su album/perfil.
Mucho me temo que se este probando con personas con el perfil abierto.
Como digo, yo haciendolo asi recibo esa pagina de error..
Saludos.
El problema debe de estar aquí :P
Esta url genera confusión, o bueno, a mi me la generó :-X
http://www.facebook.com/profile.php?id=MIID&v=photos&viewas=MIID#/album.php?aid=yyyyyyy&id=MIID
Así esta mejor:
http://www.facebook.com/profile.php?id=IDUsuario&v=photos&viewas=MIID#/album.php?aid=yyyyyyy&id=IDUsuario
Al principio ponía Mi ID en todos los campos donde lo decía, pero resulta que el primero y el último son del usuario "victima", solo en el del medio hay que poner la nuestra, y si estaban haciendo esto les debería de decir que "no estaba disponible" :P
Saludos
Que tal.
A ver, los que dicen que pueden, pueden hacer algo?
Busquen entre los amigos de sus amigos alguien que no tenga el hypervinculo activado en su nombre ( esto denotara que tiene impuestas restricciones para ver su perfil, y estos son los INTERESANTES ).
Tras ello pues hagan SOLO un click en su foto, y posen el puntero del raton sobre el link como para mandarles un mensaje.
Con el puntero posado, en la parte inferior ( informativa de links ) del Browser podremos obtener su ID.
Bien, tras ello hacemos todo el proceso con la API como se ha citado, para hacernos con el aid.
Pueden ver el album de esa persona??
Suerte.
Sip ... verdaderamente bueno ^_^ pero veo muchas opciones.. quizas tenga otras cosas para jugar =D
^^
Miren, otro ejemplo:
http://www.facebook.com/profile.php?id=4 (el creador de facebook, perfil privado)
SELECT link FROM album WHERE owner=4
<?xml version="1.0" encoding="UTF-8"?>
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
<album>
<link>http://www.facebook.com/album.php?aid=2204760&id=4</link>
</album>
<album>
<link>http://www.facebook.com/album.php?aid=2047231&id=4</link>
</album>
<album>
<link>http://www.facebook.com/album.php?aid=2034080&id=4</link>
</album>
<album>
<link>http://www.facebook.com/album.php?aid=2002684&id=4</link>
</album>
</fql_query_response>
Funciona ;)
(http://img18.imageshack.us/img18/1451/markzuck.png)
Saludos!!
Ahhh ya vi su error XDDD
Estaban poniendo & en el link jajaja.. deben cambiar & por &, porque XML convierte chars como & a su entidad en HTML.
Saludos!!
Funciona con eso que me pasaste si, pero con el ID que estoy usando yo no, asi que algo raro en los permisos toco porque el ID lo estoy poniendo bien, a seguir probando no mas.
A mi si me funciona probe varias veces y me devuelve arrays con los links de los albums pero otras veces me devulve <empty string> (uso facebook php client como response format)o por ejemplo quise entrar por segunda vez al link que dejaste sirdarckcat y me aparece el mensaje que le aparecia a averno.... osea la primera vez lo visualize bien pero despues ya no...
Saludos
Esto sirve para ver personas con su perfil privado.
Los albums tienen permisos extra, por lo que pueden ver fotos de personas con su perfil privado, PEEEERO no pueden ver fotos de albums privados.
Saludos!!
Cita de: N1K0 en 16 Marzo 2009, 00:14 AM
A mi si me funciona probe varias veces y me devuelve arrays con los links de los albums pero otras veces me devulve <empty string> (uso facebook php client como response format)o por ejemplo quise entrar por segunda vez al link que dejaste sirdarckcat y me aparece el mensaje que le aparecia a averno.... osea la primera vez lo visualize bien pero despues ya no...
Saludos
Respuesta:
Cita de: sirdarckcat en 16 Marzo 2009, 00:09 AM
Ahhh ya vi su error XDDD
Estaban poniendo & en el link jajaja.. deben cambiar & por &, porque XML convierte chars como & a su entidad en HTML.
Saludos!!
Que tal.
Exacto, si sus albumes son privados ( tienen permisos extra, me lo acaba de decir mi novia /* que usa facebook mogollon */ y sdc :__)) no podremos ver nada.
Saludos.
Claro, es eso entonces, entonces solo se podran ver la foto del perfil y poco mas. Igual voy a seguir probando algo mas tiene que haber, aunque ahora Tools me anda para atras :S ni siquiera carga XD
Cita de: sirdarckcat en 16 Marzo 2009, 00:18 AM
Cita de: N1K0 en 16 Marzo 2009, 00:14 AM
A mi si me funciona probe varias veces y me devuelve arrays con los links de los albums pero otras veces me devulve <empty string> (uso facebook php client como response format)o por ejemplo quise entrar por segunda vez al link que dejaste sirdarckcat y me aparece el mensaje que le aparecia a averno.... osea la primera vez lo visualize bien pero despues ya no...
Saludos
Respuesta:
Cita de: sirdarckcat en 16 Marzo 2009, 00:09 AM
Ahhh ya vi su error XDDD
Estaban poniendo & en el link jajaja.. deben cambiar & por &, porque XML convierte chars como & a su entidad en HTML.
Saludos!!
me referia a este link http://www.facebook.com/album.php?aid=63080&id=532437297
ingrese un vez y lo visualize pero luego me aparece :
Citar
Este contenido no está disponible en estos momentos
La página que has solicitado no puede mostrarse en estos momentos. Puede que no esté disponible temporalmente, el enlace puede haber expirado o puede que no tengas permiso para visualizarla.
Saludos
Ahh disculpa, esque estaba haciendo pruebas con lo de privacidad.
Saludos!!
Pues si, anda, seguro cuando tira empty es porque o no hay albums o estan todos con los permisos en privado.
Cita de: Littlehorse en 16 Marzo 2009, 00:30 AM
Pues si, anda, seguro cuando tira empty es porque o no hay albums o estan todos con los permisos en privado.
Eso es lo que pensaba yo pero probe con el ejemplo de sdc y me funciono y obtube la url del album con una foto luego lo intente de nuevo y me arrojaba empty por eso es q no lo entiendo...
Edit ...
estaba probando un par de cosas con unas tablas y me aparecio esto en la pagina
Citar¡Estás aproximándote al límite de la consola de test de API!
¡Frena o podrías golpear un bloque!
a que se refieren con golpear un bloque?
Citar¡Estás aproximándote al límite de la consola de test de API!
¡Frena o podrías golpear un bloque!
JAJAJJAJJAJJAJAJ
---------------------------
Si hablas del ejemplo del SDC te dijo que ahi estuvo toqueteando la privacidad que capaz fue por eso. Yo en cambio probe con otros e igual Empty String, casi seguro que es por lo de los permisos porque acabo de comprobar que fotos si tiene, y tambien comprobe con una cuenta que no tenia y lo mismo asi que, las dos son causa del empty string. Pero probando en cuentas aleatorias funciona perfecto y basta con ir cambiando el aid y ya.
Que tal.
El "Bug" no es tal bug.
Solo podremos ver albumes los cuales la gente que lo/s creo, les hayan puesto permisos flexibles ( que otros que no sean amigo lo/s pueda/n ver ).
Mi novia ha tenido la amabilidad de escucharme ( no quiere saber nada sobre informatica, y menos viniendo de mi! ) y de crear delante mio un album en Facebook. Resulta que en dicho proceso, es al principio de la creacion cuando Facebook te pregunta quien queremos que vea dicho album.
Por ello, no es que se cree el album y haya que retocar despues los permisos ante un posible permiso flexible por defecto, no. Facebook te lo pregunta en un formulario a la hora de crearlo, y justo al principio.
Por ello podremos ver los albumes los cuales se crearon con "toda" consciencia de los permisos por parte de la persona creadora del album.
Si el album tiene permisos solo para amigos o privado (?), no podremos verlos. Si la persona no tiene albumes, nos saldra el mismo error.
Resumiendo no es un bug, es solo una manera de aprovechar la API y el fql para facilitar la busqueda de albumes abiertos.
Cabe recalcar que los filtros para los permisos en los albumes son muy minuciosos, y me ha sorprendido cuan agudos son.
Suerte.
/**** MODIFIKO ****/
Bueno, no se nos pregunta por el filtrado JUSTO al principio, pero si en plena creacion.
pero nadie ha dicho que esto es un bug.. es una vulnerabilidad, que es diferente xD
Que tal sdc?!
Bueeeeeeeeeenooo.. xD!!
Pero yo tampoco lo veo una vulnerabilidad!!
Saludos.
Que no es un fallo? o sea es simple, tu no tienes la opcion de ver los albums de las personas si no lo tienes agregado como amigos SALVO que el perfil sea publico y que las fotos tambien lo sean. Ahora, si el perfil NO es publico (o sea aparece en gris en vez de aparecer en azul para clickearlo) no hay opcion en ninguna parte para ver sus fotos, o sea que es un fallo esta claro XDD porque yo ahora mismo estoy viendo fotos de famosas en mi pais y te aseguro que no todas deberian ser visibles. ;D
La vulnerabilidad es que Facebook por el diseño de su sitio, hace que las galerias publicas no sean visibles a los usuarios regulares. Lo que da la sensacion de que tener el perfil privado es suficiente.
Esto seria "casi" verdad, si no existieran estos metodos de obtencion del aid (porque si no existieran los tendrias que "bruteforcear"). Esta inconsistencia en su modelo, representa una amenaza a la privacidad de los usuarios, lo cual es un riesgo, y por consiguiente, es una vulnerabilidad. Porque explota el diseño de la aplicacion, afectando la confidencialidad del usuario.
Saludos!!
Cita de: sirdarckcat en 16 Marzo 2009, 01:24 AM
Esta inconsistencia en su modelo, representa una amenaza a la privacidad de los usuarios, lo cual es un riesgo, y por consiguiente, es una vulnerabilidad. Porque explota el diseño de la aplicacion, afectando la confidencialidad del usuario.
Creo q mas claro imposible...Vos definis esos albumes para q tengan un determinado "scope" de usuarios y por esta vulnerabilidad, bien dicho por SDC, hace q el "scope" sea mas abarcativo q lo supuesto...
AAAAAAA, claro, entones era por eso que en el perfil de un amigo aparecia como empty, entonces queda en que se pueden ver todas las imagenes de perfiles, siempre y cuando el album no requiera permisos extra :P
Saludos
No probe pero en teoria
"Mis redes y amigos": Deberia funcionar si perteneces a la misma red
"Amigos de mis amigos": Pues eso deberia funcionar si eres amigo de alguien que tenga.
Y los problematicos son solo amigos y personalizar
Cita de: Novlucker en 16 Marzo 2009, 02:16 AM
AAAAAAA, claro, entones era por eso que en el perfil de un amigo aparecia como empty, entonces queda en que se pueden ver todas las imagenes de perfiles, siempre y cuando el album no requiera permisos extra :P
Saludos
se, por ejemplo un album creado aplicando atributos como solo visible para amigos
alque no se puede acceder aun sabiendo su aid seria http://www.facebook.com/album.php?aid=2001791&id=1546388293
igualmente dentro de la tabla album hay una columna perteneciente a los atributos del album que se llama 'visible' ej:
select link,visible from album where owner=1546388293
para filtrar los resultados y obtener los albums sin atributo alguno osea accesible para todos seria
select link from album where owner=1546388293 and visible='everyone'
bah eso pienso yo nose ...
no sigo probando xq me bloquaron las dos cuentas :¬¬
Saludos
en serio te las bloquearon? yo probe mil veces y no me tiro ningun bloqueo XD
No me bloquearon la cuenta entera pero me bloquearon el servicio de FQL osea quiero entrar en http://developers.facebook.com/tools.php y me aparece este cartel...
(http://img12.imageshack.us/img12/6467/facebookbloked.th.jpg) (http://img12.imageshack.us/my.php?image=facebookbloked.jpg)
Hiciste demasiadas consultas a la consola de facebook.. te las desbloquean en 24 horas o algo así.
Se supone q en facebook las fotos tuyas las podes ver vos, tus amigos y los amigos de tus amigos como maximo
y no cualquiera que quiera.. para eso tendria q tener el link con el id del album (cosa q se lo tendrias q pasar vos)
No, por mas que le pases el link si los permisos no estan puestos en todos no va a poder ver el album o en su defecto debera cumplir los requisitos de los otros permisos (ser amigo de sus amigos etc)
Cita de: Littlehorse en 16 Marzo 2009, 15:34 PM
No, por mas que le pases el link si los permisos no estan puestos en todos no va a poder ver el album o en su defecto debera cumplir los requisitos de los otros permisos (ser amigo de sus amigos etc)
No a lo que me refiero cuando creas nu album abajo aparece un "pasa este link a gente que no este en facebook para que pueda ver este album"
¿Alguno ha continuado con esto? :)
Estoy intentándolo y no me funciona la API... :S...
Joder, me ha costado la de dios conseguirlo...
Mira mancebo, sólo has de ir a la web de facebook donde se pueden poner los parámetros de la búsqueda en al tabla (o sea, donde poner la consulta).
Ahí, en vez de hacer una consulta XML eliges la opción "FaceBook PHP Client".
Eliges el "photos.getAlbum"
Por último en uid, pones el id del usuario al que le quieres ver las fotos.
Ahí te saldra un montón de información con todos los álbums de la persona en cuestión. Uno de ellos es el link al álbum... Sin más ni menos.
Genial! Muchas gracias por el aporte, no sabéis lo que me ahorra :D
Dejo de funcionar :huh: :-X Alguien sabe si se puede seguir haciendo de otra manera?