javascript

Script para cambiar todas las imágenes de una página web

Introducción

En un día de estos estaba un poco aburrido y como siempre quise saber cómo cambiar todas las imágenes de una página web me dispuse a programar un script muy sencillo en JavaScript para lograr esto.

Es decir, sin ser dueño de la página, cambiar todas las imágenes por una de nuestra preferencia

Nota: esto no tiene nada que ver con hackeos o cosas de esas, es totalmente seguro y no daña a nadie. Si conoces un sitio con una vulnerabilidad XSS puedes aplicar el script y verás que funciona.

Si no lo conoces, puedes probar abriendo la consola de depuración y pegando el código. De todas maneras, no me hago responsable si algo sale mal.

Cómo cambiar todas las imágenes de una página web

Como lo dije, esto es muy sencillo. Primero debemos conseguir todos los elementos img del DOM en un arreglo. Luego, recorrer ese arreglo y por cada imagen cambiar el atributo src por el de nuestra preferencia.

Pero bueno, hablar es de mal gusto así que aquí el código

document.querySelectorAll("img")
.forEach(img => img.src = "https://parzibyte.me/blog/wp-content/uploads/2018/09/adler-3551609_640.jpg");

Ese es el código JavaScript necesario. ¿qué hacemos? bueno, vamos por partes

  1. Con querySelectorAll seleccionamos todos los elementos que sean img. Como lo dije, eso devuelve un arreglo
  2. El arreglo tiene la función forEach que nos permite iterar por cada imagen. Utilizamos la sintaxis  de las funciones de flecha gorda para simplificar el código
  3. Finalmente por cada imagen, cambiamos el src y lo ponemos de forma que sea la nueva ruta

La fuente de la imagen es una imagen de un águila que he robado (bueno, no cuenta como robado porque es libre pero así me gusta decirle) de pixabay.com

Águila: imagen que utilizaremos para remplazar a las demás

Probando cambiar todas las imágenes de una página web

Con vulnerabilidad XSS

Como lo dije, si una página tiene una vulnerabilidad XSS podemos pegar este código entre unas etiquetas <script> y listo. Pero no haremos eso porque qué pereza buscar una web con XSS

En página normal

Si queremos divertirnos o sorprender a alguien, abrimos la consola y pegamos el código. Por ejemplo, yo lo haré en Facebook pero funciona en cualquier página.

Abrimos la consola e ignoramos ese aviso…

Consola de depuración en donde pegamos el código

Como vemos, Facebook tiene razón en avisarnos porque a veces hay usuarios malintencionados. Pero con este script no hacemos nada malo. El punto es que al aplicarlo…

Página de Facebook con imágenes modificadas

Al aplicarlo, todas las imágenes cambian a la que elegimos. Esto sólo aplica para nosotros, ya que los demás usuarios siguen viendo lo mismo.

Pero repito, si esto es aplicado en una página con XSS podemos hacer que todos los usuarios vean la imagen que cambiamos.

Si quieres deshacer el efecto simplemente refresca la página.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.