elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 05:33  


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits
| | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | |-+  Bypass Recaptcha y cualquier otra
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Bypass Recaptcha y cualquier otra  (Leído 2,296 veces)
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Bypass Recaptcha y cualquier otra
« en: 7 Septiembre 2011, 16:32 »


Muchas veces necesitamos hacerle un bypass a alguna captcha, como puede ser Re-captcha.

Lo primero que se nos ocurre es usar algun OCR (Reconocimiento óptico de caracteres) para detectar las letras de la imágenes. El problema esta que no puede funcionar correctamente y en muchos casos no logra procesar la imagen. Quizás por eso no sea algo muy típico, ni muy utilizado con esto fines.

Podemos desarrollar nuestro propio OCR, pero a la larga seria un proceso muy complejo y necesitaríamos invertirle mucho tiempo. Muchos simplemente descartan el proyecto.

Otros lo que harían seria buscar alguna vulnerabilidad en la captcha, que de alguna forma les permita saber que imagen es y que letras tienen. Algunos buscarían una vulnerabilidad en la validación de la captcha que seria un proceso igualmente largo ya que tienen que entender el funcionamiento de la captcha y comenzar a probar...

Yo estaba realizando una App web y debía realizar acciones y tomar algunos datos de un sitio web, pero este utilizaba Re-captcha para poder identificarse/loguearse. Se me ocurrieron todas las opciones que menciones y otras pero no relacionada directamente con la captcha.

Aquí tengo una solución universal para cualquier Captcha. La solución mas rápida y segura, es utilizar la misma captcha que el sitio web.

Osea, la imagen genera la captcha la capturo y la muestro en mi sitio web para que los usuarios que vayan a utilizar la App web, inserten el código de la captcha y mi App web realice todo.

Al final tengo una App web, que realiza lo que quería hacer y utiliza captcha. No tengo que implementar alguna captcha en mi servicio ya que con la captcha del sitio web me basta.


Bypass de  Re-Captcha



Código
<?php
require_once('recaptchalib.php');
 
 
$publickey = "6Lc55McSAAAAAChEOICK8IX0V6zRh3CD64ix6jbx";
$privatekey = "6Lc55McSAAAAAB4ny39PlgX8gjMvm2x7SsrXEb6y";
 
if(!empty($_POST['nombre'])) {
 
   $is_valid = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
 
 
   if($is_valid->is_valid) {
       echo '<p><h1>Captcha Valida</h1></p>';
       exit;
   }else{
       echo '<p><h1>Captcha invalida</h1></p>';
   }
}
 
 
 
?>
 
<form method="POST" name="form" action="a.php">
   <p>Mensaje:
<input type="text" name="nombre"></p>
  <?php echo recaptcha_get_html($publickey); ?>
 
   <input type="submit" value="enviar">
</form>
 

Realizare el código para hacerle el bypass.


Código
<?php
 
 
 
//Si se envio el formulario, compruebo el el input
 
//donde se inserte la captcha, contenga algun valor
 
if(!empty($_POST['captcha_valude'])) {
 
 
 
$data =' nombre='.$_POST['mensaje'].'&recaptcha_challenge_field='.$_POST['cod'].'&recaptcha_response_field='.urlencode($_POST['captcha_valude']);
 
echo post('http://127.0.0.1/a.php', $data);
 
}
 
//Fin del poc para el bypass
 
 
 
//Obtengo la imagen de la captcha y luego la muestro....
 
$contenido = get('http://127.0.0.1/a.php');
 
preg_match('/ipt" src="(h[^"]+)/', $contenido, $result);
 
preg_match('/challenge :[sn]+'([^']+)/i', get($result[1]), $cont);
 
$img = 'http://www.google.com/recaptcha/api/image?c='.$cont[1];
 
echo '<IMG src="'.$img.'">';
 
//Fin...
 
 
 
//Funcion para realizar peticiones GET
 
function get($url) {
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL, $url);
 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
$result = curl_exec($ch);
 
curl_close($ch);
 
return $result;
 
}
 
 
 
//Funcion para realizar peticiones POST
 
function post($url, $contenido) {
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL, $url);
 
curl_setopt ($ch, CURLOPT_POST, 1);
 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $contenido);
 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
$result = curl_exec ($ch);
 
curl_close ($ch);
 
 
 
return $result;
 
}
 
 
 
?>
 
 
 
<!--Formulario-->
 
<form action="aa.php" method="POST">
 
<p>Inserte el contenido de la captcha</p>
 
<p><input type="text" name="captcha_valude"></p>
 
<p>Inserte el mensaje
<input type="text" name="mensaje"></p>
 
<input type="hidden" name="cod" value="<?php echo $cont[1]; ?>"><!--Codigo de la captcha-->
 
<input type="submit" value="Enviar">
 
</form>
 

Al rellenar todos los datos correctamente, me da por valida todo.


Probar el PoC, así entienden mejor todo.

Saludos.
« Última modificación: 7 Septiembre 2011, 17:33 por ~ Yoya ~ » En línea

Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #1 en: 7 Septiembre 2011, 16:39 »

La idea se entiende y esta muy bien planteada, pero donde esta el bypass? Sería un bypass si en realidad no tuvieses que ingresar nada, lo único que consigues es "redirigir" el captcha a la persona que esta frente al pc, y de cualquier modo el captcha termina cumpliendo su función, demostrar que no se es un bot.

De hecho, este sistema se utilizan en muchos sitios :silbar:

De cualquier modo repito, el planteo esta muy bien :)

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #2 en: 7 Septiembre 2011, 17:27 »

La idea se entiende y esta muy bien planteada, pero donde esta el bypass? Sería un bypass si en realidad no tuvieses que ingresar nada, lo único que consigues es "redirigir" el captcha a la persona que esta frente al pc, y de cualquier modo el captcha termina cumpliendo su función, demostrar que no se es un bot.

De hecho, este sistema se utilizan en muchos sitios :silbar:

De cualquier modo repito, el planteo esta muy bien :)

Saludos


Sip, antes de realizar el articulo pensé lo mismo. Que mirarlo detenidamente no hay algún bypass.

En realidad, si lo piensas, cuando una persona incorpora una Captcha es con la finalidad que todo aquel que este ingresando los datos, este navegando en su sitio web y que no sea parte de un proceso automatizado.


En este caso, para que funcione se necesita de una persona que lo ejecute directamente que al final, todo seria automatizado excepto la el código de la captcha. Al final la persona es parte de un proceso automatizado.

Saludos.
En línea

Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #3 en: 7 Septiembre 2011, 17:42 »

Exacto, también hay malware que aplica esto mismo, necesitan completar captchas para crear cuentas en determinados servicios (ej: e-mail), y le muestran estos captchas a las personas para poder seguir :P


Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #4 en: 7 Septiembre 2011, 17:49 »

No había visto eso xD. Pero bueno, todos los días se ve algo diferente xD.

Saludos.
En línea

Lunfardo


Desconectado Desconectado

Mensajes: 560


Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #5 en: 9 Septiembre 2011, 06:11 »

es imposible ganarle a los captcha QQ



la ultima, vi un sitio en el que el captcha era en flash y consistia en que daban un valor en letra rara de fondo y por encima habia una matriz de valores en donde tenia que hubicar el valor. LOL



ya no solo se requiere no ser un robot sino ser mas que humano ya que algunos textuales son directamente imposibles =P
En línea
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: Bypass Recaptcha y cualquier otra
« Respuesta #6 en: 9 Septiembre 2011, 07:14 »

Felicitaciones  ;-) un excelente truco, no te dejes llevar por los malos comentarios, si tienes una página con mucho flujo lo del captcha no será nada

Saludos
En línea

Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #7 en: 9 Septiembre 2011, 14:58 »

Felicitaciones ;-) un excelente truco, no te dejes llevar por los malos comentarios, si tienes una página con mucho flujo lo del captcha no será nada

Donde están los malos comentarios y a que te refieres con una página con mucho flujo? :¬¬
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #8 en: 10 Septiembre 2011, 15:32 »

Comentarios negativos?
Lo que han dicho es un hecho. Esto no es un bypass.

Citar
sino ser mas que humano
Como las letras con  los gatitos y los  perritos de rapidshare.... menos mal que cambiaron, porque la verdad, me pasaba a veces unos cuantos minutos tratando de ingresar las letras correctas.
En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: Bypass Recaptcha y cualquier otra
« Respuesta #9 en: 10 Septiembre 2011, 16:11 »

Lo que han dicho es un hecho. Esto no es un bypass.

Entonces es un Fake??

En realidad, si lo piensas, cuando una persona incorpora una Captcha es con la finalidad que todo aquel que este ingresando los datos, este navegando en su sitio web y que no sea parte de un proceso automatizado.

Si una persona puede ejecutar un bot, también puede ingresar las letras de una imagen para su funcionamiento...
« Última modificación: 10 Septiembre 2011, 16:14 por ~ Yoya ~ » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines