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
We located an Open Access version of this article, legally shared by the author or publisher. Open It

“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

🧠 Pro Tip

Skip the extension — just come straight here.

We’ve built a fast, permanent tool you can bookmark and use anytime.

Go To Paywall Unblock Tool
Sign up for a free account and get the following:
  • Save articles and sync them across your devices
  • Get a digest of the latest premium articles in your inbox twice a week, personalized to you (Coming soon).
  • Get access to our AI features

  • Save articles to reading lists
    and access them on any device
    If you found this app useful,
    Please consider supporting us.
    Thank you!

    Save articles to reading lists
    and access them on any device
    If you found this app useful,
    Please consider supporting us.
    Thank you!