Hoy para variar, hago un post un poco mas práctico que los anteriores.
El caso es que estoy ayudando a mi novia a entender C/C++, sistemas y todo eso, así que decidí que hoy programaría algo con ella (algo simple,para empezar) y como no se me ocurría nada mas ameno, pensé en programar un programa en C, que usando libjpeg, fuese capaz de leer una imagen del viejo captcha clásico de meneame (como el que usan en enchilame para el registro) y sacar los números que hay en la imagen.
Nada mas empezar, nos dimos cuenta de que los números de ese captcha, siempre salen en la misma posición, tamaño y medida, además del mismo color y misma fuente, solo varía un poco el fondo, pero poco.
Para localizar los pixeles que pertenecen a un dígito y no al fondo, basta con comprobar si su nivel de azul (colores RGB) es mayor que 100.
El programa básicamente lo que hace es leer la imagen, linea a linea (linea de pixeles) y comprobar que pixeles están con azul mayor que 100, en la linea 20, lo cual es suficiente para distinguir todo los números.
El programa junto con una imagen de ejemplo, lo podéis bajar de aquí:
Se compila con:
gcc -ljpeg image.c -o image
Y tiene como dependencia libjpeg (y libjpeg-dev para sistemas basados en debian)
Al ejecutarlo, lee el archivo image.jpeg de su mismo directorio, y muestra por la salida estandar, los números contenidos dentro de la imagen.
Con este pequeño programa y un script en bash bastante sencillo, uno puede dar de alta cuantas cuentas como quiera, de forma automatizada en páginas que usen las versión de meneame sin recaptcha.
Prueba con el programa compilado y la imagen que viene el .tar.gz:
jcarlosn@linux-wnp3:~/captcha> ./image
724160
jcarlosn@linux-wnp3:~/captcha>
Tiene en principio, un 100% de efectividad.

Cada día flipo más contigo
Muy sencillo de leer =) Ahora, solprendeme: consiguelo con el recaptcha =P
me voy a suscribir a este blog!
Sin que se moleste gallí claro
Qué raro, he enviado un comentario antes que Nemigo y aún está pendiente de aprobación. ¿Hay algún problema con WordPress y mensajes demasiado largos?
Que cosas más raras haces con tu novia….
En fin, uno que puede.
Fdo: Un informático.
cvncvbn
novia aprendiendo c/c++,
me->envidia++;
novia,
me->envidia++;
Gracias por los comentarios, el código es una prueba de concepto, no muy currada, pero si a alguien le sirve como ejemplo de como se atacan los captchas, pues mejor que mejor :p
esteve, no tengo activado lo de moderar comentarios, y no he estado en casa en toda la tarde, tengo que mirar que ha pasado con tu comentario, lo siento!
He vuelto a intentar enviarlo, pero me dice que está pendiente de moderación. Supongo que será porque tiene demasiado caracteres raros o algo así.
Te deberían demandar por hacer estas cosas
Claro hombre Cerebro, ¿y que hay del avance tecnológico?
Ah, ya se, espera, debemos DEJAR de investigar NADA en seguridad informática, y dejar que sean solo los crackers y spammers quien hagan estas cosas, nosotros, simple y llanamente, los ignoramos.
Venga hombre, ironías aparte, cada vez que alguien de buena fe consigue romper un sistema de seguridad, es MUY positivo para todo el mundo, por que yo antes de publicar el artículo, ya contacté con las personas encargadas de todo esto, para que estuviesen enterados de todo.
Sin embargo, si solo los crackers y spammers estudiasen y conociesen como evadir los medios de seguridad existentes, no existiría forma alguna de frenarlos.
Lo siento, pero te has quedado un poco corto de miras.
Todo un excelente blog el tuyo. felicitaciones.
Magnifico blog, me quedo flipando.
Mis mas sinceras felicitaciones!!