Paywalls vulnerables en diarios digitales — La Nueva España | by Miguel Martínez Serrano | Medium


AI Summary Hide AI Generated Summary

Vulnerable Paywalls in Digital Newspapers

The article discusses a vulnerability in the paywall system of several digital newspapers belonging to the Prensa Ibérica publishing group, including La Nueva España. The vulnerability allows users to access premium content without a subscription.

Exploiting the Vulnerability

The author demonstrates how to bypass the paywall using two methods:

  • Using browser developer tools (F12) to remove CSS classes that hide the premium content.
  • Using a browser extension, such as Custom JavaScript for websites, to automatically remove the classes and display the content.

The vulnerability stems from the fact that the full article content is still sent by the server, even to non-subscribers. It's simply hidden with CSS styling.

Improving Paywall Security

The author provides recommendations for developers to create more secure paywalls:

  • Servers should not send the complete article content to non-subscribers.
  • Validations should be performed on the server-side, not just client-side.

The article emphasizes that the vulnerability is easily exploited, highlighting the importance of robust security measures in web development.

Sign in to unlock more AI features Sign in with Google

“Para continuar leyendo, suscríbete al acceso de contenidos web”, ¿te suena? Muchos diarios digitales tienen suscripciones premium para acceder a la totalidad del contenido.

Hoy os traigo el caso de un diario digital cuyo “muro de pago” es vulnerable. Disclaimer: El propósito de esta publicación es meramente educativo y busca concienciar sobre el desarrollo de software de calidad.

Actualización: esto ocurre en todos los diarios del grupo editorial Prensa Ibérica, en la última versión (que tiene sección premium), he comprobado que la lista de diarios vulnerables son los siguientes:

Nuestro protagonista: La Nueva España — Diario Independiente de Asturias (lne.es) tiene la sección “Premium”:

Sección Premium de lne.es

Si visitamos cualquier noticia, veremos que solo nos muestra las primeras líneas y nos pide suscribirnos para acceder al contenido premium. Noticia de ejemplo: clic para abrir.

Paywall del diario digital

Ahora bien, si abrimos las “Herramientas de desarrollo” del navegador pulsando F12 (en Google Chrome / Microsoft Edge / Mozilla Firefox) y seleccionamos el texto degradado con el selector veremos lo siguiente:

Herramientas de desarrollo (F12), seleccionado en el elemento

Podemos ver que debajo de la entradilla con el degradado hay un contenedor con unas clases sospechosas:

article-body--paywall baldomero no-baldomero

¿Cuál será el contenido de ese div? ¡Voilá! ¡El artículo completo!

Contenido completo del artículo

Si eliminamos las clases “baldomero” y “no-baldomero”, se muestra el artículo completo en la página, ya el único estilo que aplicaban es un “display: none!important”. Es decir: el contenido completo está cargado en nuestro navegador, pero oculto mediante hoja de estilos css, una “cutrada”.

Artículo completo tras eliminar la clase que lo ocultaba

Saltarse el paywall automáticamente

Muy bien… ¿sería posible automatizar el proceso de mostrar el contenido de los artículos? Sí.

Hace falta una extensión para el navegador que permita ejecutar JavaScript en cualquier sitio web, por ejemplo la extensión de Chrome (también disponible para Edge): Custom JavaScript for websites. La instalamos y seguimos estos 4 pasos:

Extensión Custom JavaScript for websites
  1. Instalamos y abrimos la extensión
  2. Habilitamos la extensión “cjs” para este host
  3. Pegamos el script que oculta el paywall y muestra el contenido:
document.getElementsByClassName("article-body--truncated")[0].classList.remove("article-body--truncated");document.getElementsByClassName("baldomero")[0].classList.remove("baldomero");document.getElementsByClassName("paywall")[0].style.display = "none";

4. Guardamos el script, y ya estaría.

De esta manera se puede burlar el paywall y acceder a todo el contenido premium del portal.

¿Cómo hacer un paywall más seguro?

Tip para desarrolladores :)

  • En las páginas de las secciones premium el servidor no debería enviar el contenido completo del artículo.
  • Si no se envía el contenido completo de los artículos (texto, imágenes), el tráfico en la red se reduce y la página carga más rápido.

Hemos comprobado que con un simple explorador se puede acceder a todo el contenido, nada sofisticado.

Lo mismo aplica para validación de formularios, por ejemplo, una aplicación web no debería fiarse de los datos que recibe el cliente (navegador), sino que debería validarse además en el lado servidor para evitar problemas de seguridad.

Twitter: @miguelms_es

Si quieres contactar conmigo: miguel@miguelms.es

Was this article displayed correctly? Not happy with what you see?

We located an Open Access version of this article, legally shared by the author or publisher. Open It
Tabs Reminder: Tabs piling up in your browser? Set a reminder for them, close them and get notified at the right time.

Try our Chrome extension today!


Share this article with your
friends and colleagues.
Earn points from views and
referrals who sign up.
Learn more

Facebook

Save articles to reading lists
and access them on any device


Share this article with your
friends and colleagues.
Earn points from views and
referrals who sign up.
Learn more

Facebook

Save articles to reading lists
and access them on any device