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

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

#1 2012-10-08 12:35:46

Mention the-baker
Recruit
Inscription : 2012-10-08
Messages : 9

Bypass captcha freeglobes

J'aime pas arriver les mains vides wink :

<?php
//bypass antibot.php/captcha freeglobes
//Réalisation : the-baker 

//Police : tahoma
//Taille : 12
$caracteres = Array(
'A' => '000011110000000011110000000011110000000110011000000110011000001110011100001100001100001111111100011100001110011000000110011000000110110000000011',
'B' => '111111101001111010000110100001101001111011111110100111111000001110000011100000111001111111111110',
'C' => '000111111100111111110111000000011000000001100000001100000000110000000001100000000110000000011100000000111111110001111111',
'D' => '111111110010011111101000000111100000001110000000111000000011100000001110000000111000000011100000011110011111101111111100',
'E' => '111111111000000010000000100000001000000011111111100000001000000010000000100000001000000011111111',
'F' => '111111110000001000000100000010000001111111100000010000001000000100000010000001000000',
'G' => '000111111110011111111101110000000011000000001100000000011000000000110000111111100000000101100000001011100000010011111111100011111111',
'H' => '100000000110000000011000000001100000000110000000011111111111100000000110000000011000000001100000000110000000011000000001',
'I' => '111010010010010010010010010010010111',
'J' => '001111000001000001000001000001000001000001000001000011000011001111111111',
'K' => '100000111000011010001100100111001011100011110000111100001111100010011100100011101000011010000011',
'L' => '100000010000001000000100000010000001000000100000010000001000000100000010000001111111',
'M' => '111000001111110000011111110001111101100011011011100110110011011001100111110011000111000110001110001100000000011000000000110000000001',
'N' => '110000000111100000011111000001101100000110011000011001110001100011100110000110011000001101100000011110000001111000000011',
'O' => '000111111100000111111111000111000001110011000000011001100000001101100000000011110000000001101100000001100110000000110011100000111000111111111000001111111000',
'P' => '111111101001111110000011100000111000001110000011100111111111111010000000100000001000000010000000',
'Q' => '000111111100000111111111000111000001110011000000011001100000000111100000000011110000000001101100000000110110000000110011100000111000111111111000001111111000000000011000000000001110000000000111110',
'R' => '111111000100111100100001100100001100100001100100111100111111000100011000100011100100001110100000111100000011',
'S' => '011111111111111111000000110000001100000011111110011111110000001100000011100000111111111111111110',
'T' => '111111111000010000000010000000010000000010000000010000000010000000010000000010000000010000000010000000010000',
'U' => '100000000110000000011000000001100000000110000000011000000001100000000110000000011100000011110000001111111111110111111110',
'V' => '111000001110110000011001100000110011000011100011000110000110001100001100011000001101100000011011000000110110000000111000000001110000',
'W' => '110001110001111000111000111100011100011110001111001111101101101110110110110110011011011011001101101101100111100011110001110001110000111000111000011100011100',
'X' => '110000111110011101100110011111100011110000011000000110000011110001111110011001101110011111000011',
'Y' => '110000011111000111011000110011101110001101100000111000000111000000010000000010000000010000000010000000010000',
'Z' => '111111110000001100000111000001100000110000011100001110000011000001100000111000001100000011111111',
'a' => '011111101111110000011011111111111111100001110001111111110111111',
'b' => '10000000100000001000000010000000111111101111111111000011100000111000001110000011100000111111111111111110',
'c' => '011111111111110000110000110000110000110000111111011111',
'd' => '00000001000000010000000100000001011111111111111111000001110000011100000111000001110000111111111101111111',
'e' => '011111011111111100011110001111111111100000110000011111110111111',
'f' => '01111011100110001100111100100001000010000100001000010000100001000',
'g' => '011111111111111111000001110000011100000111000001110000111111111101111111000000110111111101111110',
'h' => '10000000100000001000000010000000111111101111111111000011100000111000000110000001100000011000000110000001',
'i' => '11111111111',
'j' => '00010001011100010001000100010001000100010001001101111111',
'k' => '1000000100000010000001000000100001110001101001100101100011110001111100100111010001111000011',
'l' => '1111111111111',
'm' => '111111111111111111111111001110011100011000111000010000110000100001100001000011000010000110000100001',
'n' => '111111101111111111000011100000111000000110000001100000011000000110000001',
'o' => '011111101111111111000011110000111100001111000011110000111111111101111110',
'p' => '111111101111111110000011100000111000001110000011100000111111111111111110100000001000000010000000',
'q' => '011111111111111111000001110000011100000111000001110000011111111101111111000000010000000100000001',
'r' => '111111111011000100001000010000100001000010000',
's' => '111111111111110000111000111111001111000011111111111111',
't' => '010000100001000111110100001000010000100001000011000111001111',
'u' => '100000011000000110000001100000011000000111000001110000111111111101111111',
'v' => '111000111011000110011000110011101110001101100001101100000111000000111000000111000',
'w' => '110001000111100111001111001110011110111110110111101111001111011110011100011100111000111000110001110',
'x' => '110001111101110110110001110000111000011100011011011101111100011',
'y' => '111000111011000110011000110011101110001101100001101100000111000000111000000111000000110000001110000001100000',
'z' => '111111000011000111001110001100011000111000110000111111',
'1' => '001001110011100001000010000100001000010000100001000010011111',
'2' => '111111011111110000011000001100000110000111000011000011000011000111000011000001111111',
'3' => '111111011111110000011000001100011110011110000111100000110000011000001111111111111110',
'4' => '000001100000111000011110001110100111001011100010110000101111111100000010000000100000001000000010',
'5' => '111111110000001000000100000011111100001111000001100000110000011000001111111111111110',
'6' => '001111100111100011100000110000001111111011111111100000111100001111000011110000111111111101111110',
'7' => '111111100000110000011000011100001100001110000110000110000011000011000001100001100000',
'8' => '011111101111111111000011110000111111011101111110111111111100001111000011110000111111111101111110',
'9' => '011111101111111111000011110000111100001111000011111111110111111100000011000001110001111001111100' );


  function sommeColonne($x, $matrice) {

    $somme = 0;
 
    for($y=0;$y<sizeof($matrice);$y++) {
      $somme += $matrice[$y][$x];
    }
   
    return $somme;
  }
 
  function sommeLigne($y, $matrice) {

    $somme = 0;
 
    for($x=0;$x<sizeof($matrice);$x++) {
      if(isset($matrice[$y][$x]))
      $somme += $matrice[$y][$x];
    }
   
    return $somme;
  }
 
  function extraireLettre($colonnes, $matrice){
    $lettre = array();
    $ligne = array();
    for($y=0;$y<sizeof($matrice);$y++)
    {
      for($i=0;$i<sizeof($colonnes);$i++)
      {
        array_push($ligne, $matrice[$y][$colonnes[$i]]);
      }
      array_push($lettre, $ligne);
      $ligne = array();
    }
 
    return $lettre;
 
  }
 
  function lineariser($matrice) {
    $chaine ='';
    for($y=0;$y<sizeof($matrice);$y++) {
      for($x=0;$x<sizeof($matrice[$y]);$x++) {
        $chaine .= $matrice[$y][$x];
      }
     
    }
    return $chaine;
  }
 
  function imageVersMatrice($lien) {
    $imagehw = @GetImageSize($lien) or die('Erreur de récupération du fichier: '.$lien);
    if($imagehw[2]==3)
    {   //PNG
      $image = imagecreatefrompng($lien);
      $matrice = array();
      $couleurFond = ImageColorAt($image, 0, 0);
      for($y=0;$y<$imagehw[1];$y++) {
        for($x=0;$x<$imagehw[0];$x++) {
          if(ImageColorAt($image, $x, $y) == $couleurFond)
          {
            $matrice[$y][$x] = 0;
          }
          else
          {
            $matrice[$y][$x] = 1;
          }
        }
      }
     
      return $matrice;
   
    }
    else
    {
      echo 'Uniquement au format PNG.';
      exit(0);
    }
  }
 
  function extraireLettres($matrice) {
    $resultat = array();
    for($x=0;$x<sizeof($matrice[0]);$x++)
    {
      if(sommeColonne($x, $matrice)!=0)
      {
        array_push($resultat, $x);
      }
    }
    $lettres = array();
    $lettre = array();
    array_push($lettre, $resultat[0]);
    for($i=0; $i<sizeof($resultat);$i++)
    {
      if(isset($resultat[$i+1]) AND ($resultat[$i+1]-$resultat[$i]) <3)
      {
        array_push($lettre, $resultat[$i+1]);
      }
      else
      {
        array_push($lettres, $lettre);
        $lettre = array();
        if(isset($resultat[$i+1]))
        array_push($lettre, $resultat[$i+1]);
      }
    }
   
    $sortie = array();

    for($j=0; $j<sizeof($lettres);$j++)
    {
      $lettre = extraireLettre($lettres[$j], $matrice);
      $resultat = array();
      for($i=0;$i<sizeof($lettre);$i++)
      {
        if(sommeLigne($i, $lettre)!=0)
        {
          array_push($resultat, $lettre[$i]);
        }
      }
      array_push($sortie, lineariser($resultat));
    }
   
    return $sortie;
  }

  function extraireMot($lettres, $caracteres) {
    $mot = '';
    foreach($lettres as $lettre)
    {
      $valeur = array_search($lettre, $caracteres, TRUE);
      if($valeur!='')
      {
        $mot.=$valeur;
      }
      else
      {
        $ecart = 999;
        foreach($caracteres as $cle=>$caractere)
        {
          $tmp = levenshtein($lettre, $caractere);
          if($tmp<$ecart)
          {
            $ecart = $tmp;
            $mottmp = $cle;
          }
        }
        $mot.=$mottmp;
      }
    }
    return $mot;
  }

  function copierImage($lien) {
    $imagehw = @GetImageSize($lien) or die('ERROR occured while trying to stat image file: '.$lien);
    if($imagehw[2]==3)
    {   //PNG
      $image = imagecreatefrompng($lien);
      $nom = time().'.png';
      if(@imagepng($image, $nom))
      {
        return $nom;
      }
    }
    else
    {
      echo 'Erreur copie image.';
      exit(0);
    }
  }
 
 
  if(isset($_GET['img']))
  {
  $lien = urldecode($_GET['img']);
  $image = copierImage($lien);
  if($image)
  {
  $depart=microtime(true);
  $matrice = imageVersMatrice($image);
  $lettres = extraireLettres($matrice);
  $mot = extraireMot($lettres, $caracteres);
  $stop=microtime(true);
  $temps=$stop-$depart;
  $temps = number_format($temps, 3);
  echo '<table><tr><td><img src="'.$image.'" /></td><td> '.$mot.' </td><td> '.$temps.' sec </td></tr></table>';
  }
  }

?>
   <html>
  <head>
    <title>Bypass captcha Freeglobes</title>
  </head>
  <body>
    <h1>Bypass captcha freeglobes</h1>
    <p>Ce script permet de "décrypter" le captcha freeglobes par défaut.</p>
    <form method="get" action="">
      <label for="img">Url captcha (PNG) : <input type="text" name="img" id="img" />
      <input type="submit" value="Valider" />
    </form>
  </body>
  </html>
 

Dernière modification par the-baker (2012-10-08 17:59:20)

Hors ligne

#2 2012-10-08 13:00:34

Mention duan78
Scout
Lieu : Paris
Inscription : 2012-08-31
Messages : 589

Audit et Analyse
Sémantique
Marketing
Social Engineering
Site Web

Re : Bypass captcha freeglobes

Quelques explications sur le fonctionnement, et la méthode pour mettre en place ? wink
(I'm noob)
Merci en tout cas wink


Arnaud BOYER, eMarketing Manager @ Label Group

Hors ligne

#3 2012-10-08 13:24:05

Mention renard.bleu
Scout
Lieu : 45° 7'25.87"N 123° 6'48.97"W
Inscription : 2012-09-17
Messages : 177

Re : Bypass captcha freeglobes

Salut merci !
Donc si je comprends, ça permet de bypasser le captcha de l'annuaire fdeeglobes afin de le spammer/automatiser l'ajout de contenus ?

I'm a noob too.

Hors ligne

#4 2012-10-08 14:39:50

Mention the-baker
Recruit
Inscription : 2012-10-08
Messages : 9

Re : Bypass captcha freeglobes

Oui, à partir de l'image du captcha freeglobes (fonction antibot.php).

Les détails ce soir...

Hors ligne

#5 2012-10-08 18:05:11

Mention the-baker
Recruit
Inscription : 2012-10-08
Messages : 9

Re : Bypass captcha freeglobes

Ce script "décrypte" l'image du captcha, c'est à dire qu'il traduit le code de l'image en texte.

Exemple de générateur de captcha freeglobes : http://www.annuaire-freeglobes.net/antibot.php

Script bypass en ligne : http://the-bakery.fr/bypasscaptchafreeglobes/

Essayer donc de mettre l'adresse du générateur sur le script ;-)

Voila, Il ne vous reste plus qu'a gérer la récupération de l'image captcha du formulaire freeglobes et vous pourrez automatiser vos inscriptions.

big_smile

Hors ligne

#6 2012-10-08 20:19:54

Mention renard.bleu
Scout
Lieu : 45° 7'25.87"N 123° 6'48.97"W
Inscription : 2012-09-17
Messages : 177

Re : Bypass captcha freeglobes

C'est assez fou ...

Hors ligne

#7 2012-10-08 20:43:17

Mention Jaffaar
Guardian
Lieu : Marseille
Inscription : 2012-06-01
Messages : 5 353

Développement PHP
Développement JS
Networking SEO
Social Engineering
Site Web

Re : Bypass captcha freeglobes

completement fou comme j'aime wink


⌕ Tu veux Ranker ?
⏩ Actives le mode automatique : SEO Quartz             
⏩ Profite d'un consultant SEO (sur Marseille ou sur Skype => jaffaarbh )
⏩ Tu veux des techniques concrètes ? SEO Basics Skills - SEO Ranking Skills

Hors ligne

#8 2012-10-08 22:30:00

Mention Plateforme
Vagabond

Re : Bypass captcha freeglobes

GG cool

#9 2012-10-09 14:50:15

Mention the-baker
Recruit
Inscription : 2012-10-08
Messages : 9

Re : Bypass captcha freeglobes

Je mettrai en ligne d'ici peu de temps, le script pour la soumission freeglobes avec la résolution du captcha smile

Hors ligne

#10 2013-01-16 21:00:21

Mention LostSEO
Scout
Lieu : Galaxy SEO
Inscription : 2013-01-16
Messages : 189

Re : Bypass captcha freeglobes

Génial le script!!! Je vais l'étudier d'un peu plus près, si tu pouvais résumer un peu la démarche ce serait sympa (très peu de commentaire dans ton code wink )


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

Hors ligne

#11 2013-01-17 17:08:52

Mention Jaffaar
Guardian
Lieu : Marseille
Inscription : 2012-06-01
Messages : 5 353

Développement PHP
Développement JS
Networking SEO
Social Engineering
Site Web

Re : Bypass captcha freeglobes

Je vais essayer (depuis le temps) de me pencher dessus !


⌕ Tu veux Ranker ?
⏩ Actives le mode automatique : SEO Quartz             
⏩ Profite d'un consultant SEO (sur Marseille ou sur Skype => jaffaarbh )
⏩ Tu veux des techniques concrètes ? SEO Basics Skills - SEO Ranking Skills

Hors ligne

#12 2013-03-02 21:10:20

Mention Jaffaar
Guardian
Lieu : Marseille
Inscription : 2012-06-01
Messages : 5 353

Développement PHP
Développement JS
Networking SEO
Social Engineering
Site Web

Re : Bypass captcha freeglobes

@alf233 : je ne sais pas quel est le problème avec les captcha sur les freeglobes,
mais je t'invite à venir te présenter ici : http://www.scripts-seo.fr/forum-6-0-pre … age-1.html

Sinon sick permet de passer ces captcha je pense.


⌕ Tu veux Ranker ?
⏩ Actives le mode automatique : SEO Quartz             
⏩ Profite d'un consultant SEO (sur Marseille ou sur Skype => jaffaarbh )
⏩ Tu veux des techniques concrètes ? SEO Basics Skills - SEO Ranking Skills

Hors ligne

#13 2013-05-13 20:16:35

Mention [F]ab
Scout
Inscription : 2013-05-08
Messages : 14

Re : Bypass captcha freeglobes

Magnifique ! Un grand bravo à toi the-baker !

Je l'ai intégré à un script perso de soumission automatique sous PHP/Curl mais je rencontre cependant le même problème que alf233.

Voici comment je procède :

- Je boucle sur une liste d'url freeglobes type http://www.orbee.fr/index.php?do=basic&category=xx
- J'initialise mes variables avec les données à soumettre
- Je parse l'url qui génère l'image et je récup le captcha avec la fonction copierImage(). Je le rajoute aux données à poster : $post['antibotcode']
- Je post le tout avec Curl.

J'obtiens toujours en réponse Curl : captcha incorrect.

Je pense que c'est dû au fait qu'il y a 2 appels du système captcha.php (un premier avec la fonction copierImage() et un second lors du Post avec Curl).

Lors du Post avec Curl on peut supposer qu'il y a un appel du captcha.php qui est donc réinitialisé et ne correspond plus au code précédemment trouvé avec copierImage().

Je dis peut-être n'importe quoi mais pour moi c'est probablement un truc comme ça smile

Et vous ? Qu'en pensez-vous ? Merci d'avance pour votre aide !

Hors ligne

#14 2013-05-14 16:24:07

Mention Soul
Soldier
Lieu : Annecy
Inscription : 2013-01-02
Messages : 552

PHP
Netlinking Auto
Advertising
Site Web

Re : Bypass captcha freeglobes

Tu gardes le coockie?


CeKwa ?

Hors ligne

#15 2013-05-14 18:41:25

Mention [F]ab
Scout
Inscription : 2013-05-08
Messages : 14

Re : Bypass captcha freeglobes

Salut Soul.

Effectivement je ne me suis pas du tout penché là-dessus !

Je vais regarder ça de plus près et je vous ferai part de mes découvertes smile

Merci pour la piste de réflexion cool

++

Hors ligne

#16 2013-05-14 22:51:05

Mention [F]ab
Scout
Inscription : 2013-05-08
Messages : 14

Re : Bypass captcha freeglobes

Bonsoir tout l'monde.

Je planche depuis déjà quelques heures sur l'intégration de ce script avec Curl.

En ayant sous le coude plusieurs bouts de code trouvés sur le web, j'ai testé quelque chose comme ça :

1) première connexion Curl vers le script captcha.php de l'annuaire ciblé.
2) stockage du cookie + récupération du captcha PNG
3) Utiliser le script de the-baker pour obtenir le captcha en texte
4) deuxième connexion Curl vers la page de soumission de l'annuaire + Post des données (avec ajout du captcha et du cookie)

Pour l'instant le cookie est bien stocké sur le serveur, mais pas le PNG du captcha hmm

Il doit y avoir un coui*** quelque part mais je pense me rapprocher du but.

Vos remarques et commentaires sont les bienvenus smile

[F]ab



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

  $cookie = "myCookie";
  $parse = parse_url($url); // on décompose l'url de l'annuaire
 
  $ch = curl_init();
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); // récupération du cookie
    curl_setopt($ch, CURLOPT_URL, urldecode('http://'.$parse['host']).'/antibot.php'); // connexion Curl vers le script captcha.php de l'annuaire ciblé
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    $data = curl_exec($ch);
    $image = copierImage($data); // on récup le flux des données et on utilise la fonction de the-baker
    if($image) {
      $matrice = imageVersMatrice($image);
      $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, 0);
    curl_setopt($ch, CURLOPT_HEADER, 1);  
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); // on récup le cookie précédemment créé
    $result = curl_exec($ch);
  curl_close($ch);
}
 

Dernière modification par [F]ab (2013-05-14 22:53:11)

Hors ligne

#17 2013-05-15 13:11:14

Mention Soul
Soldier
Lieu : Annecy
Inscription : 2013-01-02
Messages : 552

PHP
Netlinking Auto
Advertising
Site Web

Re : Bypass captcha freeglobes

Fais voir ton script complet avec les données que t'envoie si tu veux de l'aide, comme ça c'est chaud wink

Et je te conseille d'utiliser une classe pour curl, la ça pique les yeux http://www.guillaumedesbieys.com/aller- … threading/ est pas mal pour commencer wink


CeKwa ?

Hors ligne

#18 2013-05-15 15:11:59

Mention Alcor
Soldier
Inscription : 2012-10-09
Messages : 1 313

Netlinking

Re : Bypass captcha freeglobes

il est sympa ce site big_smilewink


Easy Peasy Lemon Squeezy

Hors ligne

#19 2013-05-15 15:50:44

Mention Coolpix
Vagabond

Re : Bypass captcha freeglobes

y'a du lourd la ^^

#20 2013-05-16 13:25:16

Mention [F]ab
Scout
Inscription : 2013-05-08
Messages : 14

Re : Bypass captcha freeglobes

Merci pour le lien Soul.

Effectivement c'est pas très lisible... J'ai néanmoins essayé de commenter le code au max pour vous smile

Code complet ci-dessous :


<?

include("captcha.php"); // le script de the-baker

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

  $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'); // connexion Curl vers le script antibot.php de l'annuaire ciblé
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); // récupération du cookie
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    $data = curl_exec($ch);
    $image = copierImage($data); // on récup le flux des données et on utilise la fonction de the-baker
    if($image) {
      $matrice = imageVersMatrice($image);
      $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, 0);
    curl_setopt($ch, CURLOPT_HEADER, 1);  
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); // on récup le cookie précédemment créé
    $result = curl_exec($ch);
  curl_close($ch);
}

$url_annuaire = "http://www.orbee.fr/index.php?do=basic&category=8";

$postfields = array('email' => "fab@xxxx.fr",
        'title' => "xxxx",
        'url' => "http://www.xxxx.com/",
        'url_image' => 'http://www.xxxx.com/test.png',
        'description' => "Bla blabla blablabla bla blabla",
        'category' => 8,
        'action' => 'submit_site'
        );

submit($url_annuaire, $postfields);

?>
 

Dernière modification par [F]ab (2013-05-16 14:03:21)

Hors ligne

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

Mention Soul
Soldier
Lieu : Annecy
Inscription : 2013-01-02
Messages : 552

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 ?

Hors ligne

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

Mention [F]ab
Scout
Inscription : 2013-05-08
Messages : 14

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

Hors ligne

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

Mention [F]ab
Scout
Inscription : 2013-05-08
Messages : 14

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)

Hors ligne

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

Mention abusalih
Scout
Inscription : 2012-09-21
Messages : 189

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)

Hors ligne

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

Mention [F]ab
Scout
Inscription : 2013-05-08
Messages : 14

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)

Hors ligne

Pied de page des forums