CASINOJOY - Ставка На Успех! Проверь Свою Удачу!


Нажмите CTRL-D чтобы добавить нас в закладки
HackZone.RU - Разгадываем капчи [php+anti-captcha]
Войти / Регистрация / Участники
Определение даты выпуска iPhone по серийному номеру
-
Поиск по сайту
Форумы



Реклама

Поиск ТОП Добавить публикацию

Разгадываем капчи [php+anti-captcha]

12.01.2010


Автор: Russian aka koder

Давай подумаем зачем оно нам нужно?! Капчами сейчас защищают практически все формы заполняемые случайными посетителями. Их используют при регистрации на форумах, регистрации ящиков.. да вообще везде. А теперь представь, что ты достал большую базу каталогов ссылок на каком-то определенном движке и там для размещения ссылки нужно вводить капчу!

Если бы капчи не было, то все было бы очень просто, спамь и все. А что делать если капча есть? Да на самом деле все так же просто, только нужно еще научиться использовать сервис anti-captcha.com! Поехали...

Для начала нужно зарегистрироваться на сайте anti-captcha.com. Стоимость одной капчи - $0.001- ИМХО - цена очень приятная ($1 за 1000 загрузок)

Инвайты для антикапчи всегда есть тут - http://myseoincome.ru/php/ac-service/

После регистрации нужно пополнить счет и посмотреть свой ключ (дальше $key) в настройках. Для экспериментов сделал вот такую вот простую формочку:

http://myseoincome.ru/php/anticaptcha/

Форма-имитатор регистрации с капчей. Вводим любое имя и значение с капчи. Если капчу ввели правильно, то получаем сообщение:
Привет кодер
тест пройден
В противном случае:
Вернись и введи правильный код!
Для начала нужно провести анализ полей формы. У нас есть следующие поля:
user - имя пользователя
captcha - значение капчи
act=reg - скрытое поле
Все это нужно посылать методом POST. Картинку нам отдает скрипт img.php

Еще следует помнить, что значение капчи привязано к сессии, а значит после первого подключения нам нужно будет сохранить идентификатор сессии.

Алгоритм:
Сливаем капчу (http://myseoincome.ru/php/anticaptcha/img.php) и сохраняем идентификатор сессии
Отправляем капчу на разгадывание. Получаем значение
Имея значение капчи и идентификатор сессии заканчиваем регистрацию
Вот так вот, все просто. Начнем.

Основная функция в скрипте - geturl(). С ее помощью будем сливать и постить.

Принимает URL к которому подключиться, массив $postdata с данными для POST и параметр $header. Если последний равен единице, то выводим только заголовки страницы
<?php
function geturl($url,$postdata=0,$header=0)
{
$poststr="";
if ($postdata)
while (list($name,$value)=each($postdata)){
if (strlen($poststr)>0)
$poststr.="&";
$poststr.=$name."=".urlencode($value);
}

// инициализация сеанса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);

if ($header){
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
}else{
curl_setopt($ch, CURLOPT_HEADER, 0);
}

if ($postdata){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $poststr);
}

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}

?>
Для начала нужно получить идентификатор сессии. Для этого получаем заголовки
$header = geturl('http://myseoincome.ru/php/anticaptcha/',0,1);
Ответ
HTTP/1.1 200 OK
Date: Sat, 13 Dec 2008 09:16:20 GMT
Server: Apache/1.3.34 (Debian)
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
X-Powered-By: PHP/5.2.0-8+etch13
Set-Cookie: PHPSESSID=edd8be2ff7a1577cc048734b43607415; path=/
Connection: close
Content-Type: text/html
Из этого всего вытаскиваем ID сессии (edd8be2ff7a1577cc048734b43607415)
preg_match('|PHPSESSID=(.*);|U', $header, $out);
$session = $out[1];
Теперь, имея идентификатор, можно слить капчу и отправляем ее на anti-captcha.com Рассказывать о том, какие параметры принимает этот сервис и зачем, я не буду, документации на их сайте хватает.
$postdata = array(
'PHPSESSID' => $session

);
$captcha = geturl('http://myseoincome.ru/php/anticaptcha/img.php',$postdata);

$postdata = array(
'method' => 'base64',
'key' => $key,
'body' => base64_encode($captcha),
'ext' => 'png'
);
$rev = geturl("http://anti-captcha.com/in.php",$postdata);

if (substr($rev,0,2)=='OK'){
//получаем id капчи в системе
$anti_captcha_id = substr($rev,3);
}else{
echo "Upload ERROR";
exit;
}
//ждем 15 сек и проверяем капчу
sleep(15);

$postdata = array(
'key' => $key,
'action' => 'get',
'id' => $anti_captcha_id
);

$cap = geturl("http://anti-captcha.com/res.php",$postdata);

if (substr($cap,0,2)=='OK'){
$captcha_value = substr($cap,3);
}else{
echo "ERROR";
exit;
}
О этом куске кратко. Сначала используя ID сессии сливаем капчу и постим ее в антикапчу. Из ответа антикапчи получаем ID операции, по которому потом будет проверять ее статус. Поскольку эти капчи вводят люди и для распознания им нужно время, то я сделал перед проверкой значения, паузу в 15 секунд! Правильнее было бы проверять статус каждые 5 сек. в цикле, но усложнять этот пример я не буду, сами допишете.

В итоге, если все прошло без ошибок, мы получим значение введенной капчи. Остается только запостить форму!
$postdata = array(
"user" => "SEO-шник",
"captcha" => $captcha_value,
"act" => "reg",
"PHPSESSID" => $session

);
$recdata = geturl('http://myseoincome.ru/php/anticaptcha/',$postdata);
echo $recdata;
Я получил в ответ:
Привет SEO-шник тест пройден
Пример может подвиснуть если антикапча перегружена, а по ответам антикапчи можно определить когда заканчиваются средства на счете или когда просто нет свободных слотов. Все это найдете на страницы документации сервиса.

Вот и все. При перепечатывании очень прошу указывать автора и этот сайт. Удачи!

При копировании материалов ссылка на HackZone.RU обязательна

Добавить страницу в закладки

 Детали
Категория: Прочее
Опубликовал: Gabe 33
Просмотров: 23139
Проголосовало через SMS: 0
  Разместить у себя на сайте
Прямая ссылка
HTML
BBCode ссылка
BBCode ссылка с текстом

 Комментарии (оставить свой комментарий можно здесь)
Только зарегистрированные пользователи могут оставлять комментарии

Зарегистрироваться *** Авторизоваться


 Последние новости и статьи  Последние сообщения с форумов
  • WhatsApp уверяет пользователей, что Facebook не имеет доступа к и...
  • Однострочная команда в Windows 10 может повредить жесткий диск с ...
  • Кардерский форум Joker’s Stash объявил о закрытии
  • Релиз ядра Linux 5.9
  • Российские хакеры вооружились уязвимостью Zerologon
  • Тысячи приватных звонков американских заключенных оказались в отк...
  • Шифровальщик атаковал немецкую компанию Software AG
  • Злоумышленники используют службу Windows Error Reporting для бесф...
  • Microsoft предупредила о вымогателях, которые выдают себя за МВД ...
  • Инфостилер Valak ворует информацию из почтовых систем Microsoft E...

    Все новости... Все статьи... Прислать новость RSS
  • Разное / Предложения работы » Сервис Postman - 500 руб за получение писем и 10€ за пересыл...
  • Разное / Куплю, приму в дар » Покупка аккаунтов Uphold
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Взлом и безопасность / Новичкам » Re: Помогите взломать gmail.com
  • Разное / Предложения работы » Re: Зайти на сайт из под Администратора + публикация статьи
  • Взлом и безопасность / WEB сайтов » Брутс для 2fa биржи
  • Разное / Предложения работы » Нужен Взлом сайта на DLE

    Все форумы... RSS


  • Разместить рекламу
    © HackZone Ltd. 1996-2020. Все права зарегистрированы.
    Перепечатка материалов без согласования и указания источника будет преследоваться по Закону

    О проекте | История проекта | Размещение рекламы | Обратная связь | Правила поведения на портале
    contador de visitas счетчик посещений

    #{title}

    #{text}

    x

    #{title}

    #{text}