Bypass Recaptcha y cualquier otra

Iniciado por ~ Yoya ~, 7 Septiembre 2011, 16:32 PM

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

~ Yoya ~


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) [Seleccionar]

<?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) [Seleccionar]

<?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($chCURLOPT_URL$url);
 
curl_setopt($chCURLOPT_RETURNTRANSFER1);
 
$result curl_exec($ch);
 
curl_close($ch);
 
return 
$result;
 
}
 
 
 
//Funcion para realizar peticiones POST
 
function post($url$contenido) {
 
$ch curl_init();
 
curl_setopt($chCURLOPT_URL$url);
 
curl_setopt ($chCURLOPT_POST1);
 
curl_setopt ($chCURLOPT_POSTFIELDS$contenido);
 
curl_setopt($chCURLOPT_RETURNTRANSFER1);
 
$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.
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.

Novlucker

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
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

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

~ Yoya ~

Cita de: Novlucker en  7 Septiembre 2011, 16:39 PM
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.
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.

Novlucker

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
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

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

~ Yoya ~

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

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.

Lunfardo

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

.:UND3R:.

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

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Novlucker

Cita de: .:UND3R:. en  9 Septiembre 2011, 07:14 AM
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? :¬¬
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

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

_Enko

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

Citarsino 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.

~ Yoya ~

#9
Cita de: _Enko en 10 Septiembre 2011, 15:32 PM
Lo que han dicho es un hecho. Esto no es un bypass.

Entonces es un Fake??

Cita de: ~ Yoya ~ en  7 Septiembre 2011, 17:27 PM
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...
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.