Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Convertir srtring de email a imagen [antispam]

  • 8 Respuestas
  • 2825 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado HckDrk

  • *
  • Underc0der
  • Mensajes: 55
  • Actividad:
    0%
  • Reputación 0
  • http://127.0.0.1
    • Ver Perfil
    • HckDrk
« en: Febrero 03, 2013, 04:10:58 am »
hola todos! no se me ocurria como nombrar el post! XD

he tenido la experiencia de que los bots que indagan por las webs, buscando correos para hacer publicidad no deseada (spam), y me mandan correos... a partir de eso, se me ocurrió hacer un script que detecta con expresiones regulares el correo dentro de una cadena de texto, pasa por rot13 el correo, y muestra una imagen en vez del correo

aquí les dejo mi sencillo y pequeño script, que cuenta con 2 archivos, el index, y el archivo donde se generará la imagen...

index.php:
Código: PHP
  1. <html>
  2. <head>
  3. <title>Cambia correo por imagen</title>
  4. </head>
  5. <body bgcolor="black" text="white">
  6. <form method="post" action="">
  7.         <textarea cols="50" rows="20" name="contenido"><?php echo htmlentities($_POST['contenido']); ?></textarea><br>
  8.         <input type="submit" value="enviar" name="enviar">
  9. </form>
  10. <?php
  11.  
  12.  
  13. function correo_img($correo){
  14.  
  15.         $ss= '/(\S+@\S+\.\S+)/ie';
  16.         $resultado= preg_replace($ss,"str_rot13('$1')", $correo);
  17.         $s= '/(\S+@\S+\.\S+)/i';
  18.         $r = "<img src='imagen.php?text=$1&color=w'>";
  19.         $resultado= preg_replace($s, $r, $resultado);
  20.        
  21. return $resultado;
  22.  
  23. }
  24.  
  25.  
  26. if($_POST['enviar']){
  27.  
  28.        
  29.         $contenido=htmlentities($_POST['contenido']);
  30.         $contenido=str_replace("\n", "<br>\n", $contenido);
  31.         echo correo_img($contenido);
  32.  
  33.  
  34. }
  35.  
  36. ?>
  37. </body>
  38. </html>
  39.  



imagen.php
Código: PHP
  1. <?php
  2.  
  3. $text=str_rot13(strip_tags($_GET['text']));
  4. $color=strip_tags($_GET['color']);
  5.  
  6.  
  7. header("Content-Type: image/png");
  8. if($color!="b" && $color!="w"){
  9.         $width=55;
  10. }else{
  11.         $width=strlen($text)*10;
  12. }
  13. $imagen = @imagecreate($width, 20);
  14.  
  15.         if($color=="b"){
  16.                 $color_fondo = imagecolorallocate($imagen, 0, 0, 0);
  17.                 $color_texto = imagecolorallocate($imagen, 255, 255, 255);
  18.         }else if($color=="w"){
  19.                 $color_fondo = imagecolorallocate($imagen, 255, 255, 255);
  20.                 $color_texto = imagecolorallocate($imagen, 0, 0, 0);
  21.         }else{
  22.                 $color_fondo = imagecolorallocate($imagen, 255, 255, 255);
  23.                 $color_texto = imagecolorallocate($imagen, 255, 0, 0);
  24.                 $text="error!";
  25.         }
  26.  
  27. imagestring($imagen, 5, 5, 6,  $text, $color_texto);
  28. imagepng($imagen);
  29. imagedestroy($imagen);
  30.  
  31. ?>
  32.  


si desean ver su funcionamiento, aqui les dejo un demo...
http://hckdrk.webcindario.com/mail2img/index.php

Saludos!
« Última modificación: Marzo 22, 2014, 01:54:33 pm por Expermicid »

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 555
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #1 en: Febrero 03, 2013, 05:06:07 am »
hola bro me gusto mucho me podrias explicar una cosa je! para que sirve $1
$resultado= preg_replace($ss,"str_rot13('$1')", $correo);
saludos espero tu respuesta :P gracias por el aporte :D
Pentest - Hacking & Security Services

Contact me: arthusu@gmail.com

Desconectado ~ Yoya ~

  • *
  • Underc0der
  • Mensajes: 153
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #2 en: Febrero 03, 2013, 10:32:26 am »
$$ = /(\S+@\S+\.\S+)/ie

Entonce quedara así:
Código: PHP
  1. $resultado= preg_replace($ss,"str_rot13('$1')", $correo);
  2. $resultado= preg_replace("/(\S+@\S+\.\S+)/ie","str_rot13('$1')", $correo);
  3.  
$i, hace referencia al paréntesis del patrón (el primer parámetro, la regex).

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #3 en: Febrero 03, 2013, 12:25:38 pm »
no me parece muy seguro, porque el texto sigue estando en el url de la imagen, es muy sencillo volverlo a dejar como estaba.

saludos!

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 555
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #4 en: Febrero 03, 2013, 01:04:53 pm »
$$ = /(\S+@\S+\.\S+)/ie

Entonce quedara así:
Código: PHP
  1. $resultado= preg_replace($ss,"str_rot13('$1')", $correo);
  2. $resultado= preg_replace("/(\S+@\S+\.\S+)/ie","str_rot13('$1')", $correo);
  3.  
$i, hace referencia al paréntesis del patrón (el primer parámetro, la regex).

Saludos.

muchas gracias bro :)
Pentest - Hacking & Security Services

Contact me: arthusu@gmail.com

Desconectado Hackmundy

  • *
  • Underc0der
  • Mensajes: 88
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • [H]ACKMUNDY - [L]ABS
« Respuesta #5 en: Febrero 03, 2013, 02:07:16 pm »
Se ve muy bueno tengo mi PC dañada cuando reuna dinero me compro una y asi seguire practicando....

Saludos...

Un Hacker sabe de la materia;
Un Lamer Cree Saberlo;
Y yo solo aprendo.

Desconectado Dusk

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #6 en: Febrero 27, 2013, 05:32:46 pm »
no me parece muy seguro, porque el texto sigue estando en el url de la imagen, es muy sencillo volverlo a dejar como estaba.

saludos!

puedes modificar el script para que el correo lo extraiga de una DB o algo... es sólo un demo...

Desconectado Snifer

  • *
  • Underc0der
  • Mensajes: 1439
  • Actividad:
    0%
  • Reputación 1
  • Snifer@L4b's
    • Ver Perfil
    • Snifer@L4bs
  • Twitter: sniferl4bs
« Respuesta #7 en: Febrero 27, 2013, 07:29:48 pm »
Agarra el codigo y modificala que no esta complicado solo agarras el nombre desde una variable que llega a ser un query a la BD con el User Name que quieres extraer

Regards,
Snifer
http://www.sniferl4bs.com


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 73
  • Actividad:
    1.67%
  • Reputación 4
    • Ver Perfil
« Respuesta #8 en: Abril 24, 2013, 10:59:01 am »
Hola, la idea es buena y de hecho hay muchos que lo usan.

Se ve corrido:


Pero para mi es una solución un tanto rebuscada para algo tan simple, que pasa si estoy utilizando python o perl o .net o java? tendría que cranearme como hacerlo tambien de esa manera.

En cambio hay otras alternativas mejores, por ejemplo:

Digamos que tengo un mail, este mail estará en urlencode:

<div class="_mail">%79%6f%40%67%6d%61%69%6c%2e%63%6f%6d</div>

Entonces desde <head> agregamos una etiqueta javascript que tome todas las divisiones con correos y las transforme en texto:
Código: Javascript
  1. $('._mail').each(function(){
  2.         $(this).html(
  3.                 '<a href="mailto:' +
  4.                 unescape($(this).html()) +
  5.                 '">' +
  6.                 unescape($(this).html()) +
  7.                 '</a>'
  8.         );
  9. });

Recordar que los robots de busqueda de correos no utilizan algoritmos personalizados para un solo sitio web o si no el administrador se volvería loco por un par de correos, solo basta con cosas simples para ocultarlos.

Cuidado con utiliza el famoso test [at] gmail [dot] com porque hay muchos robots que incluyen eso en sus algoritmos para rebuscarlos.

Lo de la imagen es buena idea pero a traves de javascript también lo es.
Se puede usar otro algoritmo no necesariamente urlencode, puede ser base64 o hasta rc4 con clave pública.

Saludos.

 

¿Te gustó el post? COMPARTILO!



[Código PHP] Pequeña "Api" de verificación de email

Iniciado por HckDrk

Respuestas: 0
Vistas: 1827
Último mensaje Diciembre 03, 2017, 02:06:46 pm
por HckDrk
Como crear una imagen variable de php

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1429
Último mensaje Febrero 24, 2010, 11:37:49 am
por ANTRAX
Convertidor formato de imagen by naru

Iniciado por narupiece

Respuestas: 3
Vistas: 1843
Último mensaje Julio 24, 2010, 04:34:16 pm
por narupiece
Sacar IP mediante Web o Imágen en Php

Iniciado por Stiuvert

Respuestas: 2
Vistas: 2052
Último mensaje Abril 07, 2012, 07:12:52 pm
por akrotopo
Basico email bomber

Iniciado por syskc0

Respuestas: 1
Vistas: 1382
Último mensaje Febrero 02, 2011, 11:56:57 pm
por Satyricon