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.