En este post vamos a ver cómo disfrazar un correo electrónico para obtener la IP de un usuario con el simple hecho de que lo abra y vea su contenido, o mejor dicho, una imagen.
Lo que haremos, en pasos sencillos, será enviar una imagen de un perro (no es broma) la cual será servida a través de PHP con readfile. La IP se registrará con el código que vimos aquí.
Este método funciona correctamente en correos de dominio personal (es decir, .com, .me, .io, etcétera) y en hotmail; pero no en gmail, ya veremos por qué.
Recuerda que esto se hace con fines didácticos y que no me hago responsable de lo que se pueda hacer con esto.
Recordemos que es posible enviar HTML en los correos. Así que basta con enviar una imagen y ya está.
La imagen se va a descargar cuando el usuario abra el correo, por lo que su IP quedará registrada.
Para registrar la IP y servir la imagen al mismo tiempo, el atributo src
de nuestra imagen será un archivo PHP que mostrará la imagen pero antes registrará la IP.
Nota: todo el código que se usa está en GitHub.
El archivo queda como se ve a continuación.
Así, aunque la extensión sea php, será servida una imagen, y eso es totalmente válido.
Por cierto, la imagen en cuestión es esta.
Ese archivo debe estar en internet, puedes usar un hosting gratuito y subirlo por FTP.
Cuando esté subido (no olvides subir también la foto) copia su ruta absoluta; por ejemplo:
http://sitio.com/perro.php
En mi caso es este enlace:
https://www.parzibyte.me/apps/obtener_ip/perro.php
Ahora hay que crear un archivo HTML con el contenido del correo. No olvides colocar la imagen:
Se ve así:
Ahora hay que copiar ese HTML y enviarlo por gmail o por otro lugar, pero asegúrate de enviar el HTML.
Nota: recuerda que con PHP también se puede enviar un correo con HTML.
Tip: si lo vas a enviar por Gmail selecciona todo el contenido, copia y pega:
Lo enviamos y listo. Ahora esperamos que la víctima lo abra.
Me ha llegado el correo a Thunderbird, y Thunderbird sabe que estas cosas existen así que me pregunta si deseo ver el contenido remoto:
Al aceptarlo, se loguea la IP:
Como lo dije, en mis pruebas no funcionaba con gmail, no sé si fue cosa mía o que realmente no funciona.
Bueno, decir que no funciona no es correcto. Quise decir que no se registró mi IP, sino una IP de lo que parece ser un proxy.
Así que puedo decir que parece que gmail sirve el contenido a través de un proxy para prevenir justamente cosas como estas.
En cambio, probé enviarme el correo al de mi sitio (contacto@parzibyte.me) y al de hotmail; en ambos casos funcionó.
Con esto queda demostrado que debemos ser cuidadosos al mostrar el contenido remoto de un correo de un desconocido.
Cabe mencionar que si el usuario no permite el contenido remoto, no se logueará nada. Depende de las aplicaciones que use y de sus hábitos.
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…
Esta web usa cookies.