Al igual que cuando uno comienza a introducirse en el mundo de la seguridad informática, empieza a interiorizar siglas y palabros que hasta entonces te eran desconocidos (
SQLi, XSS, CSRF, Buffer Overflow, etcétera.) y a identificar a referentes internacionales como
Kevin Mitnick, Charlie Miller o
El Maligno, cuando uno se adentra en el fascinante universo de la paternidad, además de asimilar nuevos conceptos y rutinas, comienza también a conocer a otro tipo de referentes que le acompañan en esta nueva etapa. Hablamos cómo no, de los famosos y carismáticos personajes de la infancia, como
Bob Esponja,
Peppa Pig, o el grandioso
Pocoyó. Los protagonistas de estas populares series infantiles de dibujos están presentes en numerosos aspectos de la vida de los bebés, desde la propia televisión donde se originan, hasta los juguetes, el menaje o ropa infantil.
Como no podía ser de otra forma, el
Universo 2.0 pone a disposición de todos los que somos padres nuevos canales para que nuestros hijos puedan disfrutar de sus personajes favoritos en cualquier momento y en cualquier lugar. Es posible acceder a numerosos capítulos de estas series a través de vídeos en
Youtube, así como diferentes
apps para
SmartTV o dispositivos móviles, generalmente de forma gratuita.
Al igual que nosotros utilizamos a diario varios dispositivos para acceder a la misma información, nuestros hijos, los llamados nativos digitales, que interaccionan con la tecnología mejor que muchos adultos aún siendo bebés, eligen indistintamente diversas opciones dependiendo de las posibilidades que tengan a su alcance, así como de la paciencia y permisividad de sus padres. En particular a mi pequeña
Lara le gusta disfrutar de las aventuras de
Pocoyó y sus amigos a pantalla completa en la
SmartTV, pero cuando esto no es posible accede a dichos contenidos desde el canal de
Youtube o la aplicación móvil del
iPad.
|
Figura 2: Aplicación de Pocoyó para SmartTV Samsung |
De entre las diferentes aplicaciones móviles desarrolladas por
Zinkia, la productora de
Pocoyó, en concreto la que utiliza mi hija se llama
Pocoyó TV. Esta
app permite al usuario ver cualquiera de los
52 capítulos de la primera temporada de
Pocoyó, con la particularidad de que sólo los primeros 5 están disponibles de manera gratuita. Si se desea visualizar alguno de los otros
47 restantes, es necesario pasar por caja para desbloquear dicho capítulo mediante la contratación de una suscripción por un período de tiempo determinado. Esto a priori puede sonar un poco incoherente ya que estos capítulos están disponibles de manera gratuita en otros medios como el
Canal de Youtube oficial de Pocoyó, o la aplicación móvil de
Pocoyó para
SmartTV, ambos pertenecientes a la propia
Zinkia.
|
Figura 3: Además de publicidad, la app para iPad bloquea capítulos que son públicos en otras plataformas |
En cualquier caso, entiendo que aunque suene contradictorio el planteamiento, pueda suponer una pequeña fuente de ingresos adicional para la compañía, ya que al no tratarse de grandes cantidades de dinero muchos padres contratarán la suscripción, en algunas ocasiones por desconocimiento y en otras por comodidad o dejadez por no abrir el buscador de
Youtube y localizar el capítulo bloqueado desde el
iPad.
|
Figura 4: Suscripción para desbloquear el capítulo en la app de iPad |
Es solo una pequeña fuente de ingresos más que puede venir de las que
apps, de las que ya se han contabilizado más de 10 millones de descargas entre todas las aplicaciones de
Pocoyó para todas las plataformas.
|
Figura 5: Más de 10.000.000 de apps descargadas. |
Más allá de que para alguno pueda ser cuestionable cobrar por capítulos que se ofrecen gratuitamente a través de otros canales, lo que sí que es importante es que esto se haga bien. Esto viene a colación de que hace unos meses, mi hija se estrenó con tan sólo
2 años en esto de encontrar fallos de seguridad o implementación, ya que mientras yo analizaba las capturas de tráfico de mi propia red
WiFi cuando trabajaba en el post sobre
Whatsapp Discover, ella veía plácidamente el
Capítulo 2 de Pocoyó desde el
iPad, con lo que su tráfico se coló en dicha captura:

|
Figura 6: Petición de descarga del Capítulo 2 de Pocoyó en Español desde la app de iPad |
Como se puede ver en la imagen, a la hora de descargar un capítulo para poder verlo en la aplicación, se accede directamente mediante
HTTP al vídeo de dicho capítulo en formato
mp4, que se descarga desde el servidor. Nada ofuscado u oculto en dicha petición.
Hace unos días, decidí investigar un poco más esto que llamó mi atención en aquel momento. Así que tras hacer pasar el tráfico de mi
iPhone por el proxy
Burp, comprobé que en la versión actual de la aplicación, la descarga de los capítulos se sigue realizando a través de
HTTP en formato
mp4 directamente desde el servidor.
|
Figura 7: Descarga de capítulos de Pocoyó desde la app de iPhone visto con Burp |
Así que se me ocurrió ver qué pasaba si en vez de pedir el vídeo del
Capítulo 2 que está disponible de manera gratuita, construyo la
URL para el
Capítulo 9 que es de pago, cambiando simplemente un dígito por otro. El resultado era de esperar:

|
Figura 8: Descarga de los capítulos bloqueados de Pocoyó desde la web |
Tras realizar varias pruebas, me di cuenta que todos los capítulos podrían descargarse gratuitamente del servidor no sólo en
Español, sino en el resto de idiomas que ofrece la aplicación, con lo que si ya antes era absurdo contratar la suscripción, ahora carecía completamente de sentido alguno.
|
Figura 9: Los capítulos de Pocoyó están disponibles en estos idiomas |
Para constatar esta suposición, basta con pedir un capítulo de
Pocoyó en Japonés del servidor, y el mismo se descarga directamente sin ninguna validación de por medio.
|
Figura 10: Descarga de un capítulo de Pocoyó en Japonés |
Más allá de un problema de seguridad, en el caso de que el contenido no pudiera obtenerse de otra forma gratis, hablamos de un problema conceptual de implementación que daría al traste totalmente con el modelo de negocio de la aplicación. De nada sirve cobrar por algo que no conseguimos tan siquiera ocultar, y ya se sabe que eso de la seguridad por oscuridad no suele funcionar. Con un sencillo script con
Wget podríamos obtener todos los capítulos en cualquier idioma. He aquí un ejemplo para poder tener la versión en portugués:
|
Figura 11: Wget desde Kali Linux para descargar los 52 capítulos de Pocoyó |
En aras de agradecer a la productora los ratos agradables que
Lara pasa mientras observa con atención las aventuras de
Eli, Pato, Nua y Pocoyó, decidí informar de este problema a los responsables de la compañía, quienes me agradecieron el reporte informándome de que se lo comunicarían a sus desarrolladores para futuras actualizaciones de la aplicación.
Tan sólo unos días después, han subido a la
App Store una actualización de la aplicación con nuevas funcionalidades, pero en principio este problema sigue aún vigente ya que han debido considerar que al estar el contenido público por otros medios, no tenía sentido de momento actualizar el sistema. No obstante, este problema se repite en muchas apps que cobran por contenido, así que valga el ejemplo de
Pocoyó para explicaros qué no se debe hacer nunca.
Autor: Deepak Daswani
Sitio web: http://deepakdaswani.es
Twitter: @dipudaswani
6 comentarios:
Bravo Deepak!
Excelente trabajo!
Saludos!
Gracias! Me alegro que os guste. Tampoco es nada complejo, pero sí que es curioso :)
¡Muy bueno Chema!
Soy un desarrollador un poco novato y he pecado de esa misma mala práctica en un proyecto reciente, pero estoy buscando una forma de hacerlo mejor.
¿Cómo piensas que podría realizar la comunicación para que no sea accesible tan fácilmente?
(Estoy consultando desde una app Android a un webservice por POST, y me devuelve la URL completa del archivo que estoy buscando...)
Me ha encantado :)
Mis aplausos, tiene que haber sido muy dificil encontrar dicho fallo... seguramente haya una humadera sobre Tenerife de lo que te habrás quemado la cocotera Daswa... Bravisimo !
Publicar un comentario