Капча от NotCaptcha, кто поможет?

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
Аватара пользователя
duxabilii
Сообщения: 30
Зарегистрирован: 04 фев 2011, 13:59
Контактная информация:

Капча от NotCaptcha, кто поможет?

Сообщение duxabilii » 04 фев 2011, 22:51

Столкнулся с такой вот штукой.
Все о ней на http://notcaptcha.webjema.com/

Кто-то может сталкивался, как ее обойти используя HumanEmulator
Великие вещи для великих,
Пропасти для глубоких,
Нежности и дрожь, ужасы для чутких,
А, в общем, всё редкое для редких.

satih
Сообщения: 270
Зарегистрирован: 31 мар 2010, 23:44

Re: Капча от NotCaptcha, кто поможет?

Сообщение satih » 05 фев 2011, 02:00

не сталкивался, но идея есть. в принципе сет картинок у них довольно ограниченый. нужно спарсить все/большинство сетов картинок, выбрать из каждого сета вертикальную, и потом сравнивать с тем что показано в каптче.
у обьекта $mouse есть функции которые позволяют перетаскивать мышью ползунок, т.е. убеждаемся что все три картинки каптчи из известных нам сетов (иначе просим новую каптчу), и двигаем ползунок нужное количество раз до вертикальной картинки (угол при сдвижении ползунка меняется одинаково, а весь сет картинок же уже есть, т.е. если начали с перевернутой картинки, знаем точно сколько раз сдвинуть ползунок до вертиакльной). сделать такое думаю за день можно, плюс в том, что затрат на решение каптчи не будет, да и не спамят пока с такой каптчей на автомате, значит сайты с ней не заспамленные.

Код: Выделить всё

<?php
require("../Templates/xweb_human_emulator.php");

// переходим на страницу каптчи
$browser->navigate('http://notcaptcha.webjema.com/?p=1#comments');
$browser->wait();

// ставим фокус на нужную часть экрана
$input->set_focus_by_name('url');

// y координата ползунков (все 3 на одном уровне высоты)
$y = $image->get_y_by_atribute('id','leftBegun_imgone');

// х координата левого ползунка
$x1 = $image->get_x_by_atribute('id','leftBegun_imgone');
// х координата среднего ползунка
$x2 = $image->get_x_by_atribute('id','leftBegun_imgtwo');
// х координата правого ползунка
$x3 = $image->get_x_by_atribute('id','leftBegun_imgthree');

sleep(15);

// двигаем первый ползунок на 5 пунктов
MoveSlider($x1, $y, 5);
sleep(5);
// двигаем средний ползунок на 1 пункт
MoveSlider($x2, $y, 1);
sleep(5);
// двигаем правый ползунок на 3 пункта
MoveSlider($x3, $y, 3);

$app->quit();

/*
передвижение ползунка на нужное количество пунктов
принимает:
$x - х координата ползунка
$y - y координата ползунка
$steps - количество сдвижений ползунка (количество переворотов картинки каптчи)
возвращает - ничего
*/
function MoveSlider($x, $y, $steps) {
	global $mouse;

	$mouse->left_button_down($x, $y);
	// 9 пикселей примерное передвижение ползунка для изменения 1 угла картинки
	$mouse->move($x + 9*$steps, $y);
	$mouse->left_button_up($x + 9*$steps, $y);
}
?>
нужно только найти чем сравнивать картинки, на пхп тулзы есть, может еще какие тулзы, тут сложно подсказать, нужно поискать что в сети пишут про сравнение картинок. ко всему они еще на многие картинки накладывают цветное пятно, но так как большинство картинки не заслонено, думаю для инструмента сравнивания картинок найти самую похожую не будет сложно.

---------------------------------------------------------------------------------------------

написал скрипт выше как пример с сдвижением мышью, зашел позже с выключеным джаваскриптом, задача стала еще проще - картинки сразу показывают все, ничего двигать не надо, надо только выбрать номер 1 из 8 картинок которая стоит горизонтально. так что вся задача сводится к распознаванию картинки, кто найдет такой инструмент, профит!

Код: Выделить всё

<?php
require("../Templates/xweb_human_emulator.php");

// выключаем js
$browser->enable_java_script(0,0);

// переходим на страницу каптчи
$browser->navigate('http://notcaptcha.webjema.com/?p=1#comments');
$browser->wait();

// сохраняем 3 картинки
$image->save_to_file_by_url($image->get_src_by_name('imgonePict'),  __DIR__.'\cap1.jpeg', true);
$image->save_to_file_by_url($image->get_src_by_name('imgtwoPict'),  __DIR__.'\cap2.jpeg', true);
$image->save_to_file_by_url($image->get_src_by_name('imgthreePict'),  __DIR__.'\cap3.jpeg', true);

// функция распознавания, которая сможет найти номер вертикальной картинки
$cap1 = RecognizeCapPosition(__DIR__.'\cap1.jpeg');
$cap2 = RecognizeCapPosition(__DIR__.'\cap2.jpeg');
$cap3 = RecognizeCapPosition(__DIR__.'\cap3.jpeg');

// ставим нужный номер картинки для каждой из 3-х каптч
$listbox->select_num_value_by_name('imgoneField', $cap1);
$listbox->select_num_value_by_name('imgtwoField', $cap2);
$listbox->select_num_value_by_name('imgthreeField', $cap3);

$app->quit();
?>

fangetehum
Сообщения: 6
Зарегистрирован: 23 дек 2008, 12:43

Re: Капча от NotCaptcha, кто поможет?

Сообщение fangetehum » 05 фев 2011, 17:47

Вроде бы еще давно на хабре писали про взлом этой капчи

satih
Сообщения: 270
Зарегистрирован: 31 мар 2010, 23:44

Re: Капча от NotCaptcha, кто поможет?

Сообщение satih » 06 фев 2011, 04:21

нашел 2 статьи про нее на хабре, в одной только предлагают по оси поворачивать (хотя так не различить между вертикальными и горизонтальными картинками) или брутфорсом брать (с шансом 1/512), что имхо не легче чем напарсить все сеты картинок и искать нужную. в этом посте указали на реальную дырку, если автору не наплевать на проект, думаю он ее сразу и закрыл (кому интересно, проверьте, а может и нет), дыра была чисто в коде, не в идее системы. судя по стате каптча не такая уж распостраненая

Аватара пользователя
duxabilii
Сообщения: 30
Зарегистрирован: 04 фев 2011, 13:59
Контактная информация:

Re: Капча от NotCaptcha, кто поможет?

Сообщение duxabilii » 07 фев 2011, 13:45

Вытянул все стандартные картинки их плагина.
http://files.mail.ru/FMSVJW
Просмотрел выдаваемые результаты - картинка из 8 jpeg изображений размером 50х50рх, между которыми 1рх разделитель.
Нашел статьи по сравнению изображений средствами php
http://webiteam.ru/2009/03/sravnenie-iz ... shhyu-php/
http://habrahabr.ru/blogs/php/55926/
http://leopard.in.ua/2010/12/09/bystroe ... ostgresql/

Не могу найти что-то для разделения выдаваемой картинки на части для ее сравнения.
Великие вещи для великих,
Пропасти для глубоких,
Нежности и дрожь, ужасы для чутких,
А, в общем, всё редкое для редких.

satih
Сообщения: 270
Зарегистрирован: 31 мар 2010, 23:44

Re: Капча от NotCaptcha, кто поможет?

Сообщение satih » 07 фев 2011, 14:29

не думаю что нужно изобретать колесо, например imagemagick, с которым работает пхп, несомневаюсь что может сделать такое сравнение, на нем кстати был частично основан проeкт cap-cap.ru . мне просто в лом курить весь ман сравнения картинок с той страницы, так как если скачали ее 4к раз, поставили может на 500 блогов, из которых процентов 30 нормальные. да можно и не на пхп разгадывать, другим софтом каким нибудь сравнить, главное чтоб с командной строки работал, но снова, используют ее не настолько чтоб это оправдать. подсказал бы если б было чем, но с распознаванием каптч особо не работал.

Ответить