Para los que no conozcáis Medium, os diremos que se trata de una plataforma de publicación de contenido creada por los cofundadores de Twitter Evan Williams y Biz Stone.
Uno de los principales objetivos de esta plataforma es ofrecer contenido de calidad, profundo y original, alejándose de la horrible tendencia al clickbait y las lluvias de ads que otros medios de comunicación nos tienen acostumbrados. Por este motivo, aparte de contenido gratuito existen publicaciones premium que sólo pueden ser leídas bajo suscripción, y con el que la plataforma promociona directamente a los autores. Además y como mecanismo de promoción, la plataforma permite a todos aquellos usuarios con acceso gratuito la lectura de hasta tres publicaciones premium al mes.
Sin embargo, reciéntemente Yuval Shprinz ha podido constatar que el control de acceso a estas publicaciones premium tiene una peculiar debilidad, y es que el sistema simplemente verifica que por cada cookie de sesión sólo sea posible acceder a tres historias premium. Algo tan sencillo como borrar la cookie de sesión (o usar un navegador en modo Incógnito) nos permite leer tantas historias como queramos, sin necesidad de apoyar económicamente a la plataforma.
El proceso que ha seguido Yuval ha sido la obtención del código de la APK, su modificación a través de las instrucciones smali correspondientes, y el recompilado e instalación de la apk modificada (fuente original).
Esto mismo se podría haber realizado a través del uso de un navegador en modo incógnito, como el mismo autor comenta, o borrando las cookies al vuelo a través de Burp o nuestro proxy favorito.
Todo apunta a que los responsables de la plataforma conocen el fallo, y no tienen intención de modificar el comportamiento, ya que en las exclusiones de su programa de bug bounty se incluye precisamente:
"Defeating the paywall by clearing cookies, private browsing, or otherwise creating new user sessions"
Hay situaciones en las que, desde una perspectiva de negocio, se asume el riesgo de una vulnerabilidad y se decida no corregirla, ya sea porque el riesgo es muy bajo, o porque las correcciones a implementar suponen un coste extremadamente alto que hace que no compense realizar ese trabajo. Parece ser que este es uno de esos casos.
Aplicar el mismo control sobre la cuenta de usuario, y no sobre la sesión abierta, obligaría a tener que crear una cuenta de correo electrónico falsa nueva por cada tres noticias premium leídas. Esto es algo bastante más tedioso que simplemente abrir el navegador en modo incógnito, sobre todo si bloqueas los dominios de cuentas desechables, y desde luego es un cambio que no requiere de grandes esfuerzos.
Veremos si Yuval recibe respuesta del equipo de Medium...
Un saludo!
Un saludo!