14 ago 2012

Exponiendo imágenes de Tuenti

Hola,

Varias veces mi curiosidad me ha hecho pasar horas y horas estudiando una web y auditandola. Hoy le ha tocado a Tuenti... Y creo que ha merecido la pena, ahora ya se algo de como funciona, más allá de lo que se le muestra al usuario. También acabé encontrado una vulnerabilidad, no muy importante, pero vulnerabilidad al fin y al cabo. Sin embargo, no va a ser esto lo que explique en esta entrada. Será algo más simple:

En muchos casos, los usuarios que usamos Tuenti, nos hemos visto en la necesidad de compartir una foto con algún amigo, sin embargo, dicho amigo no tiene agregado al propietario de la foto, así que como es obvio, Tuenti deniega la visualización de la foto. Sin embargo, Tuenti almacena las imágenes en algún lugar, como en cualquier web, así que no hay mejor manera de visualizar la imagen, que obteniendo el enlace original... Pudiendo así ver/descargar/compartir la imagen. Veamos como se puede hacer:

Estando en mi perfil, hago click en mi foto de perfil, por ejemplo. Y Tuenti abre el siguiente enlace:

http://www.tuenti.com/#m=Photo&func=view_photo&collection_key=2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562

Al mismo tiempo hace una petición a:

http://pdta.tuenti.com

Enviando la siguiente petición:

req=[{"csfr":"fac58570"},{"Photo":{"preloadPhotos":{"itemKey":"2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562","backgrounded":false,"prefetchDirection":10,"offset":0,"source":"22","pc":{"wt":2}}}}]

En él, envía el "csfr", que es un token de sesión, y, si nos fijamos, el id de la imagen... En este id, identifica el usuario, el album, la foto etc etc. También envía algunas cosas mas que no hace falta explicar.

Después de la petición, Tuenti obtiene la respuesta con los datos, y los visualiza. Pero como yo quiero ver esos datos, hago esa petición desde el navegador, y obtengo como respuesta un archivo para descargar.

Al abrirlo, se pueden ver muchiiiiisimos datos, así como el nombre del que ha subido la foto, los etiquetados etc etc. Pero me centro en la primera parte, que sería lo siguiente:

{"output":[{"canSee":true,"2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562":{"getPhoto":{"canSee":true,"itemKey":"2-<miIDdeusuario>-576089239-<miIDdeusuario>-1298241562","hasNotifications":false,"url":"http:\/\/tsimg.tuenti.net\/IlZslwP_P0MObX3rAA",

Como vemos, hay tenemos la dirección:

http://tsimg.tuenti.net/IlZslwP_P0MObX3rAA

Y ya esta, la imagen original lista para descargar y compartir, evitando los sistemas de Tuenti. Si bien el método es sencillo, las consecuencias no son muy buenas... Cualquiera de mis amigos agregados podría compartir mis fotos ¬¬ (en realidad sólo 4n0nym0us o p0is0n-123 sabrían ;). Y es algo que se solucionaría fácilmente cifrando los datos. Pero eso es algo que decidirá Tuenti. Yo mientras seguiré disfrutando de mi script extractor de enlaces xD

Saludos, $DoC.

5 comentarios:

  1. No es por desmerecer el artículo, que me parece muy interesante.Yo vengo usando una forma, a mi entender, mas simple para sacar los links de las imagenes de Tuenti para verlas desde fuera de la red.Mediante el inspector de elementos de Chrome por ejemplo, click derecho en la imagen en Tuenti, pulsamos en "inspeccionar elemento". Se abrirá la consola de Chrome. En la propiedad "src" de la etiqueta "img" tenemos la dirección de la foto. Pulsamos en el link y nos llevará a la pestaña "Resources" de la consola de Chrome. Ahí podemos hacer de nuevo click derecho en la imagen y copiar el link para pasarselo a quien queramos.Si bien este método es menos técnico, en principio es muy sencillo.Buen artículo, hacéis un gran trabajo :)

    ResponderEliminar
  2. HolaEn tu primer párrafo hay una falta de ortografía, ya que quieres expresar una distancia, en vez de una existencia. Concretamente la palabra errónea es 'Haya' en vez de 'allá'No creo que sea una vulnerabilidad, más bien un descuido de los desarrolladores y administradores del sitio.Saludos

    ResponderEliminar
  3. Si @Wolf, tienes razón!, no me había fijado jeje. Pero el link de la imagen es sólo un ejemplo, yo quiero dar a entender que la respuesta que devuelve Tuenti no va cifrada. Igual que eso, otras cosas.@lyonn gracias, se me fue la cabeza, ya lo solucionarán Pablo o Juanan. Y no, no es una vulnerabilidad. Aun así, yo he encontrado una que permite revelar algunos datos de usuarios no agregados como amigos. Así que seguro que habrá más.Gracias, un saludo.

    ResponderEliminar
  4. Si @Wolf, tienes razón!, no me había fijado jeje. Pero el link de la imagen es sólo un ejemplo, yo quiero dar a entender que la respuesta que devuelve Tuenti no va cifrada. Igual que eso, otras cosas.@lyonn gracias, se me fue la cabeza, ya lo solucionarán Pablo o Juanan. Y no, no es una vulnerabilidad. Aun así, yo he encontrado una que permite revelar algunos datos de usuarios no agregados como amigos. Así que seguro que habrá más.Gracias, un saludo.

    ResponderEliminar
  5. Falta arreglada, gracias Iyonn.Si sobre la imagen se pulsa botón derecho de ratón, propiedades, tienes el link con el acceso único de la fotografía sin autenticarte, por lo que sí, hay formas más simples de hacerlo como dices Wolf jeje, pero la gracia del artículo, y cómo genialmente comenta $DoC, era hacerlo de una manera que en teoria no se debería poder hacer, porque el diseñador de la solución no tuvo en cuenta el caso :)Saludos!

    ResponderEliminar