Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

🟣 Bypass captcha freeglobes


#21 2013-05-16 16:42:44

Mention Soul
🥈 Grade : Soldier

Membre du CercleOfficierForce Polyvalente
Lieu : Annecy
Inscription : 2013-01-02
Messages : 586
Likes : 2

PHP
Netlinking Auto
Advertising
Site Web

Re : Bypass captcha freeglobes

J'ai testé en local et sur un dédié et j'arrive pas à faire fonctionner le script de décodage de captcha pour les 15 mins que j'ai passé dessus, ça marche chez toi?


CeKwa ?

0
J'aime ❤️

🔴 Hors ligne

#22 2013-05-16 18:20:41

Mention [F]ab
🥉 Grade : Scout

Auxiliaire
Inscription : 2013-05-08
Messages : 14
Likes : 0

Re : Bypass captcha freeglobes

Alors justement c'est ça le problème.

ça foire ici :


$data = curl_exec($ch);
$image = copierImage($data);
 

J'ai bien le retour d'un flux PNG dans $data mais impossible de le décoder avec la fonction copierImage(). Le fichier PNG ne s'enregistre pas non plus sur le serveur.

Peut-être que the-baker pourrait nous filer un coup de main ? big_smile

0
J'aime ❤️

🔴 Hors ligne

#23 2013-05-16 18:43:06

Mention [F]ab
🥉 Grade : Scout

Auxiliaire
Inscription : 2013-05-08
Messages : 14
Likes : 0

Re : Bypass captcha freeglobes

Je précise que la récupération du cookie et la création du fichier "myCookie" s'effectue bien de mon côté.

Son contenu :


# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

www.orbee.fr  FALSE / FALSE 0 PHPSESSID 8088ce750951371a07a7046b236ba105
 

Puis voici l'erreur rencontrée au niveau de la fonction : ERROR occured while trying to stat image file: 1


function copierImage($lien) {
  $imagehw = @GetImageSize($lien) or die('ERROR occured while trying to stat image file: '.$lien);
 

Dernière modification par [F]ab (2013-05-16 18:47:07)

0
J'aime ❤️

🔴 Hors ligne

#24 2013-05-17 07:17:18

Mention abusalih
🥉 Grade : Scout

Auxiliaire
Inscription : 2012-09-21
Messages : 189
Likes : 1

Re : Bypass captcha freeglobes

Salut Ftab,

Le problème vient que tu passe le résultat du "curl" directement à la fonction "copierImage" alors que celle ci n'accepte que le chemin vers l'image que tu as sauvé sur disque.

Voici ce que tu devrais faire :

   

$data = curl_exec($ch);

    $path = LE CHEMIN OU TU VEUX ENRENGISTRER TON IMAGE
    if(file_exists($path)){
        unlink($path);
    }
    $fp = fopen($path,'x');
    fwrite($fp, $data );
    fclose($fp);

    $image = copierImage($path);

Dernière modification par abusalih (2013-05-17 07:19:38)

0
J'aime ❤️

🔴 Hors ligne

#25 2013-05-17 08:52:19

Mention [F]ab
🥉 Grade : Scout

Auxiliaire
Inscription : 2013-05-08
Messages : 14
Likes : 0

Re : Bypass captcha freeglobes

Ha c'est gentil de me venir en aide abusalih !

Je me doutais que ça venait de là mais je ne savais pas comment procéder ! Tu viens de m'apporter la solution merci encore big_smile

Je test ça et je reviens pour vous faire part des résultats !

Dernière modification par [F]ab (2013-05-17 09:05:02)

0
J'aime ❤️

🔴 Hors ligne

#26 2013-05-17 10:22:49

Mention [F]ab
🥉 Grade : Scout

Auxiliaire
Inscription : 2013-05-08
Messages : 14
Likes : 0

Re : Bypass captcha freeglobes

Ok avec ton code abusalih l'image se copie bien sur le serveur.

Maintenant ça bloque ici :


$captcha = extraireMot($lettres, $caracteres); // le resultat du captcha
 

$captcha est toujours vide.

Par contre dans $lettres j'ai bien un résultat binaire :


$lettres = extraireLettres($matrice);

Array
(
    [0] => 110000011110000011110000011110000011111111111111111111111111111110000011110000011110000011110000011110000011
    [1] => 111111111111000110001100011000110001100011000
    [2] => 011111111111111111100011110000111100001111000011110001111111111101111111000000110000001100000011
    [3] => 111001111111011101111110001111000011110000111100011111101110111111100111
    [4] => 111111111111111100000110000011100001111110111111100001110000111000011111111111111110
)

Pour cet exemple, le captcha en image est : Hrqx5

 

Le code binaire ne semble pas correspondre aux lettres tu tableau $caracteres, c'est probablement pour cette raison que $captcha est vide quand j'utilise la fonction extraireMot() hmm

Dernière modification par [F]ab (2013-05-17 10:29:25)

0
J'aime ❤️

🔴 Hors ligne

#27 2013-05-17 10:57:09

Mention [F]ab
🥉 Grade : Scout

Auxiliaire
Inscription : 2013-05-08
Messages : 14
Likes : 0

Re : Bypass captcha freeglobes

Je viens de passer l'image captcha enregistrée sur mon serveur dans le script en ligne de the-baker et, effectivement, le code correspond à moitié.

"N" à la place de "H" et "S" à la place de "5" :

capture.png

Ce qui est étrange c'est que dans mon cas extraireMot() sur cette image ne donne tout simplement aucun résultat...

Dernière modification par [F]ab (2013-05-17 10:59:38)

0
J'aime ❤️

🔴 Hors ligne

#28 2013-05-17 12:03:50

Mention the-baker
♟️ Grade : Recruit

Disciple
Inscription : 2012-10-08
Messages : 9
Likes : 0

Re : Bypass captcha freeglobes

Hey salut,

Alors pour la copie de l'image, la solution de abusalih fonctionne.
Pour le fait que le captcha est tjs vide, c'est un problème de portée de variable, $caracteres n'est  pas déclaré dans ta fonction donc pour lui c'est une variable vide. Pour résoudre le problème Il faut ajouter, juste après la déclaration de ta fonction submit :

global $caracteres

D'une manière générale, le script donne :

function submit($url,$datas = array()) {

  global $caracteres;

  $cookie = "myCookie";
  $parse = parse_url($url); // on décompose l'url de l'annuaire
 
  $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, urldecode('http://'.$parse['host'].'/antibot.php'));
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); // récupération du cookie
    curl_setopt( $ch, CURLOPT_COOKIESESSION, true );  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    $data = curl_exec($ch);
    $path = 'captcha.png';
    if(file_exists($path)){
      unlink($path);
    }
    $fp = fopen($path,'x');
    fwrite($fp, $data );
    fclose($fp);
   
      $matrice = imageVersMatrice('captcha.png');
      $lettres = extraireLettres($matrice);
      $captcha = extraireMot($lettres, $caracteres); // le resultat du captcha
      $datas['antibotcode'] = $captcha; // on rajoute un champ au tableau à poster avec le captcha

  curl_close($ch);
 

 
  $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url); // connexion à la page de soumission de l'annuaire
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $datas); // on post les données du formulaire [avec le captcha récupéré plus haut]
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);  
    curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
    $result = curl_exec($ch);
    echo $result;
  curl_close($ch);
}

Voila voila, testé et approuvé.

Attention si ton annuaire se trouve dans un dossier : www.site.fr/annuaire/index.php, La ligne "http://'.$parse['host'].'/antibot.php" ne fonctionnera pas puisqu'il te renverra  "www.site.fr/antibot.php" au lieu "www.site.fr/annuaire/antibot.php".

Pour le problème d'erreur de résolution, freeglobes utilise par défaut la police tahoma de taille 12:

// Text settings
$police = 'tahoma.ttf';
$I->setStringLength(5);
$I->setFont(dirname(__FILE__).'/fonts/'.$police , 12);
$I->setTextColor(19,113,230);

Le captcha ne correspond pas à celui par défaut, l'admin à donc changer celle-ci:

75811763.jpg

On voit la différence entre les 5, à gauche captcha par défaut, à droite le tien.

Donne moi l'adresse de l'antibot.php de l'annuaire et je te ferai la tableau $caracteres correspondant.

^^

0
J'aime ❤️

🔴 Hors ligne

#29 2013-05-17 13:34:17

Mention [F]ab
🥉 Grade : Scout

Auxiliaire
Inscription : 2013-05-08
Messages : 14
Likes : 0

Re : Bypass captcha freeglobes

Merci pour toutes ces précisions the-baker tout est maintenant plus clair smile

Voici l'annuaire que j'ai testé avec la police modifiée :

http://www.orbee.fr/antibot.php

[F]ab

0
J'aime ❤️

🔴 Hors ligne

#30 2013-05-17 14:10:49

Mention [F]ab
🥉 Grade : Scout

Auxiliaire
Inscription : 2013-05-08
Messages : 14
Likes : 0

Re : Bypass captcha freeglobes

J'ai testé avec un autre annuaire, et c'est carrément le pied lol

Enregistrement effectué ! Votre site va être examiné et vous serez averti de toute décision prise.

Merci bcp pour ce super script et pour ton aide the-baker !

Ne t'embête pas à modifier les caractères pour l'annuaire que je t'ai passé si c'est un cas isolé...

A+

[F]ab

Dernière modification par [F]ab (2013-05-17 16:24:07)

0
J'aime ❤️

🔴 Hors ligne

#31 2013-05-18 17:52:39

Mention LostSEO
🥉 Grade : Scout

Auxiliaire
Lieu : Galaxy SEO
Inscription : 2013-01-16
Messages : 189
Likes : 0

Re : Bypass captcha freeglobes

Salut les gars,

J'aurai vraiment aimé contribuer au dev, mais trop occupé... vous avez fait du bon taff!!! Bravo!


"Si vous ne faites pas d'erreurs, vous ne faites probablement pas grand chose..."

0
J'aime ❤️

🔴 Hors ligne

#32 2013-08-01 14:15:46

Mention Nicolaseo
Vagabond

Re : Bypass captcha freeglobes

Vous vous cassez bien la tête pour bypasser ce captcha hyper simple smile

une simple ligne de code suffit et le package à installer se trouve ici : https://code.google.com/p/tesseract-ocr/

L'avantage c'est qu'avec çà on peut bypasser la plupart de ceux qu'on rencontre et pas seulement les captcha freeglobe...

0
J'aime ❤️

Pied de page des forums