Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   взлом капчи яндекса/ (https://forum.antichat.xyz/showthread.php?t=137669)

Serg0007 27.08.2009 12:55

взлом капчи яндекса/
 
Собсно разбираюсь с курлом и хочу сделать парсер яндекса и появилась проблема с обходом капчи.

на странице с капчей вот такая вот форма:
Код HTML:

<form action="/send.xml" method="post">
<input type="hidden" name="key" value="85a5da55b9ef9c640cddb52f56ac8822">
<input type="hidden" name="retpath" value="http://yandex.ru/yandsearch?numdoc=50&amp;text=текст+запроса2&amp;pag=d&amp;rd=0&amp;lr=187">
<input name="rep" id="rep-id" style="width:123px;" autocomplete="off">
<input type="submit" value="Я не робот" style="font-size:20px;">
<form>

разгадываем капчу, хидден поля, с этим все понятно, делаем строку пост вида:

Код:

key=85a5da55b9ef9c640cddb52f56ac8822&retpath=http://yandex.ru/yandsearch?numdoc=50&amp;text=текст+запроса2&amp;pag=d&amp;rd=0&amp;lr=187&rep=644767
а что делать дальше с таким обработчиком action="/send.xml" ?

programming 27.08.2009 13:02

На хабре выложено полное решение..

geforse 27.08.2009 13:20

Я тут писал регеры для Яндекса, там код хорошо прокомментирован

Serg0007 27.08.2009 13:27

искал на хабре, не нашел буду очень благодарен за урл

geforse 27.08.2009 13:56

http://geforse.name/coding/avtoreger-e-mail-sajtov-narod-ru/ (на главной странице есть и полуавтоматический)

теперь видно ? )

Serg0007 27.08.2009 13:57

Цитата:

Сообщение от geforse
Я тут писал регеры для Яндекса, там код хорошо прокомментирован

Если вы об этом http://geforse.name/coding/polyavtomaticheskij-registrator-email-yandeks/ - то не совсем то, я имею в виду страницу Я не робот, там другая форма и обработчик

geforse 27.08.2009 14:06

Капча у Яндекса везде одинаковая...покажите урл

мб ошибаюсь )

Serg0007 27.08.2009 14:21

http://captcha.yandex.net/

geforse 27.08.2009 14:57

С кодировкой сам разберись, $result = iconv("Windows-1251","UTF-8",$result); у меня что-то не корректно отображается

Действительно, тут немного другая чем на почте...
PHP код:

<?php
@set_time_limit(0);
//-----------------//
$zapros 'http://yandex.ru/yandsearch?text=antichat&stpar2=%2Fh1%2Ftm4%2Fs2&stpar4=%2Fs2&stpar1=%2Fu0';
//-----------------//

       
function post($url,$post,$refer)
    {
       
$ch curl_init($url);
       
curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
       
curl_setopt($chCURLOPT_POST1);
       
curl_setopt($chCURLOPT_POSTFIELDS$post);
       
curl_setopt($chCURLOPT_REFERER$refer);
       
curl_setopt($chCURLOPT_COOKIEJAR"./cook");
       
curl_setopt($chCURLOPT_COOKIEFILE"./cook");
       
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
       
curl_setopt($chCURLOPT_RETURNTRANSFER1);
       
$result  curl_exec($ch);
       return 
$result;
    }
    
  if(
$_POST['captcha'])
    {
       
$result post('http://captcha.yandex.net/send.xml','key='.$_POST['key'].'&retpath='.$zapros.'%26stpar4%3D%252F+s1&rep='.trim($_POST['captcha']),$zapros);
       if(
preg_match('#>Вы (.*?) у#i',$result,$end))
        {
          echo 
'<script>alert(\'Не правильный код!\')</script>';
          echo 
'<meta http-equiv="Refresh" content="0; url=index.php">';
        }
        else
        {
        echo 
$result;
        }
    }
    else
    {
    
$result post('http://captcha.yandex.net/',null,'http://yandex.ru/');
    
preg_match('#y" value="(.*?)"#i',$result,$key);
    
        echo 
'<img class="captcha-img" name="captcha" src="http://captcha.yandex.net/image?key='.$key[1].'" alt=""><br>
          <form name="captcha_form" action="index.php" method="POST">
          <input type="text" name="captcha" value="" /><br>
          <input type="hidden" name="key" value="'
.$key[1].'" />
             <input type="submit" value="ok">
           </form>'

    }
/* geforse.name */
?>


Serg0007 27.08.2009 18:12

Код:

&retpath='.$zapros.'%26stpar4%3D%252F+s1
а почему так? Это критически важно? У меня урл не такой.


Время: 00:06