Как обойти капчу: Как обойти капчу: 10 способов

Как обойти капчу: Как обойти капчу: 10 способов

Содержание

нейросеть на Tensorflow,Keras,python v числовая зашумленная капча / Хабр

Тема капч не нова, в том числе для Хабра. Тем не менее, алгоритмы капч меняются, как и алгоритмы их решения. Поэтому, предлагается помянуть старое и прооперировать следующий вариант капчи:

попутно понять работу простой нейросети на практике, а также улучшить ее результаты.

Сразу оговоримся, что не будем погружаться в размышления о том, как работает нейрон и что с этим всем делать, статья не претендует на научность, а только предоставляет небольшой туториал.

Плясать от печки. Вместо вступления


Возможно повторятся чьи-то слова, но большинство книг по Deep Learning действительно начинаются с того, что читателю предлагаются заранее заготовленные данные, с которыми он начинает работать. Как-то MNIST — 60 000 рукописных цифр, CIFAR-10 и т.п. После прочтения человек выходит подготовленным… к этим наборам данных. Совершенно не ясно, как использовать свои данные и главное, как что-то улучшить при построении своей собственной нейросети.

Поэтому очень кстати вышла статья на pyimagesearch.com о том как работать со своими собственными данными, а также ее перевод.

Но, как говорится, хрен редьки не слаще: даже с переводом разжеваной статьи по keras осталось много слепых мест. Опять же предлагается заранее подготовленный датасет, только уже с котами, собаками и пандами. Придется заполнить пустоты самостоятельно.
Однако за базу будет взята эта статья и код.

Собираем данные по капчам


Здесь нет ничего нового. Нам нужны капчи-образцы, т.к. сеть будет учиться по ним под нашим руководством. Можете намайнить капч самостоятельно, а можете взять немного здесь — 29 000 капч. Теперь необходимо нарезать цифр из каждой капчи. Необязательно резать все 29 000 капч, тем более, что 1 капча дает 5 цифр. 500 капч будет более чем достаточно.

Как резать? Можно в photoshopе, но лучше иметь нож получше.

Поэтому вот код ножа на python — скачать. (для Windows. Предварительно создать папки C:\1\test и C:\1\test-out).
На выходе получится свалка из цифр от 1 до 9 (нулей в капче нет).

Далее надо разобрать этот завал из цифр по папкам от 1 до 9 и разложить в каждую папку по соответствующей цифре. Так себе занятие. Но за день можно разобрать до 1000 цифр.

Если при выборе цифры возникает сомнение какая из цифр, лучше удалить этот образец. И ничего страшного если цифры будут зашумлены или неполностью входить в «кадр»:

Набрать в каждую папку надо штук по 200 образцов каждой цифры. Можно эту работу поручить сторонним сервисам, но лучше сделать все самим, чтобы потом не искать неправильно соотнесенные цифры.

Нейросеть. Тестовая


Тятя, тятя, наши сети притащили мертвеца

Перед тем как начать работать с собственными данными лучше пройтись по вышеуказанной статье и запустить код, чтобы понять, что все компоненты (keras, tensorflow и т.п.) установлены и работают корректно.

Будем использовать простую сеть, синтаксис запуска которой из командной (!) строки:

python train_simple_nn.py --dataset animals --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --plot output/simple_nn_plot.png

*Tensorflow может писать при работе об ошибках в собственных файлах и устаревших методах, можно это исправить руками, а можно просто игнорировать.

Главное, чтобы на выходе после отработки программы в папке проекта output появились два файла: simple_nn_lb.pickle и simple_nn.model, а на экран будет выведено изображение животного с надписью и процентом распознавания, например:

Нейросеть — собственные данные


Теперь, когда тест работоспособности сети проверен, можно подключить собственные данные и начать обучать сеть.

Поместим в папку dat папки с цифрами, содержащими отобранные образцы по каждой цифре.
Папку dat для удобства разместим в папке с проектом (например рядом c папкой animals).
Теперь синтаксис запуска обучения сети будет таким:

python train_simple_nn.py --dataset dat --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --plot output/simple_nn_plot.png

Однако пока рано запускать обучение.

Необходимо поправить файл train_simple_nn.py.

1. В самый конец файла:

#model.summary()
score = model.evaluate(testX, testY, verbose=1)
print("\nTest score:", score[0])
print('Test accuracy:', score[1])

Это добавит информативности.

2.

image = cv2.resize(image, (32, 32)).flatten()

поменять на
image = cv2.resize(image, (16, 37)).flatten()
Здесь мы изменяем размер входной картинки. Почему именно такой размер? Потому как большинство из нарезанных цифр имеют такой размер либо приводятся к нему. Если масштабировать до 32×32 пикселя, картинка будет искажена. Да и зачем это делать?

Кроме того, загоняем это изменение в try:


try:
   image = cv2.resize(image, (16, 37)).flatten()
except:
    continue

Т.к. некоторые картинки программа не может переварить и выдает None, поэтому они пропускаются.

3.Теперь самое важное. Там где комментарий в коде

определим архитектуру 3072-1024-512-3 с помощью Keras

Архитектура сети в статье определена как 3072-1024-512-3. Это означает, что сеть получает на вход 3072 (32 пикселя * 32 пикселя * 3), далее слой 1024, слой 512 и на выходе 3 варианта — кот, собака или панда.

В нашем случае вход 1776 (16 пикселей*37 пикселей*3), далее слой 1024, слой 512, на выходе 9 вариантов цифр.

Поэтому наш код:

model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))model.add(Dense(512, activation="sigmoid"))

*9 выходов дополнительно указывать не нужно, т.к. программа сама определяет количество выходов по количеству папок в датасете.

Запускаем

python train_simple_nn.py --dataset dat --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --plot output/simple_nn_plot.png

Так как картинки с цифрами маленькие, сеть обучается очень быстро (5-10 мин) даже на слабом железе, используя только CPU.

После прогона программы в командой строке посмотрим результаты:

Это означает, что на обучающем наборе достигнута верность — 82,19%, на контрольном — 75,6 % и на тестовом — 75,59 %.

Нам надо ориентироваться на последний показатель большей частью. Почему остальные также важны будет пояснено далее.

Посмотрим также графическую часть работы нейросети. Она в папке output проекта simple_nn_plot.png:

Быстрее, выше, сильнее. Улучшаем результаты


Совсем коротко о настройке нейросети можно посмотреть здесь.

Вариант подлиннее следующий.

Добавим эпох.
В коде меняем

EPOCHS = 75

на
EPOCHS = 200

Увеличим «количество раз», которое сеть пройдет обучение.

Результат:

Таким образом, 93,5%, 92,6%, 92,6%.

В картинках:

Здесь заметно, что синяя и красные линии после 130 эпохи начинают разъезжаться друг от друга и это говорит, что дальнейшее увеличение числа эпох ничего не даст. Проверим это.

В коде меняем

EPOCHS = 200

на
EPOCHS = 500

и снова прогоняем.

Результат:

Итак, имеем:
99%,95,5%,95,5%.

И на графике:

Что ж, увеличение числа эпох, явно пошло сети на пользу. Однако этот результат обманчив.

Проверим работу сети на реальном примере.

Для этих целей в папке проекта есть скрипт predict.py. Перед запуском подготовимся.

В папку images проекта положим файлы с изображениями цифр с капчи, ранее не попадавшиеся сети в процессе обучения. Т.е. надо взять цифры не из набора датасета dat.

В самом файле поправим две строки для размера изображений по умолчанию:

ap.add_argument("-w", "--width", type=int, default=16, help="target spatial dimension width")
ap.add_argument("-e", "--height", type=int, default=37, help="target spatial dimension height")

Запускаем из коммандной строки:
python predict.py --image images/1.jpg --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --flatten 1

И видим результат:

Другая картинка:

Однако не со всеми зашумленными цифрами работает:

Что здесь можно сделать?

  1. Увеличить количество экземпляров цифр в папках для обучения.
  2. Попробовать другие методы.

Попробуем другие методы


Как видно из последнего графика, синяя и красная линии расходятся примерно на 130 эпохе. Это означает, что, обучение после 130 эпохи неэффективно. Зафиксируем результат на 130 эпохе: 89,3%,88%,88% и посмотрим, работают ли другие методы улучшения работы сети.

Снизим скорость обучения.

INIT_LR = 0.01
на
INIT_LR = 0.001

Результат:
41%,39%,39%

Что ж, мимо.

Дабавим дополнительный скрытый слой.

model.add(Dense(512, activation="sigmoid"))
на
model.add(Dense(512, activation="sigmoid")) 
model.add(Dense(258, activation="sigmoid"))

Результат:
56%,62%,62%

Получше, но нет.

Однако, если увеличить количество эпох до 250:
84%,83%,83%

При этом красная и синяя линия не отрываются друг от друга после 130 эпохи:

Сохраним 250 эпох и применим прореживание:

from keras.layers.core import Dropout

Между слоями вставим прореживание:

model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))
model.add(Dropout(0.3)) 
model.add(Dense(512, activation="sigmoid"))
model.add(Dropout(0.3))
model.add(Dense(258, activation="sigmoid"))
model.add(Dropout(0.3))

Результат:
53%,65%,65%

Первое значение ниже остальных, это говорит о том, что сеть не обучается. Для этого рекомендуют увеличить количество эпох.


model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))
model.add(Dropout(0.3)) 
model.add(Dense(512, activation="sigmoid"))
model.add(Dropout(0.3))

Результат:
88%,92%,92%

С 1 дополнительным слоем, прореживанием и 500 эпохами:

model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))
model.add(Dropout(0.3)) 
model.add(Dense(512, activation="sigmoid"))
model.add(Dropout(0.3))
model.add(Dense(258, activation="sigmoid"))

Результат:
92,4%,92,6%,92,58%

Несмотря на более низкий процент по сравнению с простым увеличением эпох до 500, график выглядит более ровным:

И сеть обрабатывает изображения, которые ранее выпадали:

Соберем теперь все в один файл, который нарежет изображение с капчей на входе на 5 цифр, прогонит каждую цифру через нейросеть и выдаст результат в интерпретатор python.

Здесь попроще. В файл, который нарезал нам цифры из капчи добавим файл, который занимается предсказаниями.

Теперь программа не только нарежет капчу на 5 частей, но и выведет все распознанные цифры в интерпретатор:

Опять же надо иметь в виду, что программа не дает 100% результата и зачастую одна из 5 цифр неверна. Но и это неплохой результат, если учесть, что в обучающем наборе всего по 170-200 экземпляров для каждого числа.

Распознавание капчи длится 3-5 сек на компьютере средней мощности.

Как еще можно попытаться улучшить работу сети можно почитать в книге «Библиотека Keras — инструмент глубокого обучения» А. Джулли, С.Пала.

Итоговый скрипт, который режет капчу и распознает — здесь.
Запускается без параметров.
Переработанные скрипты для тренировки и теста сети.
Капчи для теста, в том числе с ложным срабатыванием — здесь.
Модель для работы — здесь.
Цифры, разложенные по папкам — здесь.

использование сервисов Google для обхода Google reCAPTCHA / Блог компании OWASP / Хабр


unCAPTCHA – автоматизированная система, разработанная экспертами Мэрилендского университета, способная обойти reCAPTCHA от Google с точностью до 85 %. Им это удалось благодаря распознаванию аудио-версии подсказки для людей с ограниченными возможностями.

Метод использует уязвимость в звуковой версии reCAPTCHA — в ней произносится числовой код, который затем необходимо ввести в проверочное поле. Алгоритм применяет несколько сервисов, которые помогают определить числа — в том числе сервис Google Cloud Speech Recognition.
Исследователи опубликовали код своего проекта на GitHub. В unCAPTCHA используются такие средства распознавания речи, как Bing Speech Recognition, IBM, Google Cloud, Google Speech Recognition, Sphinx и Wit-AI.

Принцип работы


Формат аудиокоманды представляет собой серию чисел различной длины, произнесенных на разных скоростях, акцентах и через фоновый шум. Чтобы атаковать эту капчу, звуки идентифицируются и автоматически разбиваются по частям.

Каждый бит аудиосигнала каждого числа загружается в 6 различных бесплатных онлайн-сервисов транскрипции аудио (IBM, Google Cloud, Google Recognition, Sphinx, Wit-AI, Bing Speech Recognition), и эти результаты агрегируются. После объединения наиболее вероятная строка выявляется эвристически. После этого числа последовательно набираются в капчу. При тестировании наблюдалась точность от 92% для отдельных чисел и до 85% в распознавании аудиокоманды в полном объеме.

unCAPTCHA является не первой системой подобного рода. В марте текущего года была информация об атаке с использованием ReBreakCaptcha, системы, практически идентичной unCAPTCHA.

Видео-демонстрация работы


Тесты показывают, что unCAPTCHA может решить 450 задач reCAPTCHA с точностью 85,15% за 5,42 секунды. Это меньше, чем требуется человеку для прослушивания одного звукового файла reCAPTCHA.

unCAPTCHA


Код проекта написан на python с использованием популярной библиотеки selenium и FFmpeg — набором библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио-сигналы.

→ Исходный код опубликован на github.

По ссылке доступно исследование от создателей утилиты.

Разработчики уведомили о своем исследовании специалистов Google, в результате чего уже добавлены новые меры защиты от подобных атак.

Как легко обмануть CAPTCHA

CAPTCHA: люди против компьютеровНа некоторых веб-сайтах Вы могли заметить, что не можете продолжать выполнять какие-либо действия или осуществлять заказ до тех пор, пока не разгадаете набор непонятных букв и изображений. После того, как Вы внимательно рассмотрите какие-нибудь волнистые линии, расшифруете написанные слова и введете верную фразу (слова или цифры) в пустое поле, то сможете продолжить Ваши действия на сайте. Данный процесс предназначен для того, чтобы сайт мог убедиться в том, что на самом деле Вы – человек, который просматривает сайт.Такой тест называется CAPTCHA (Completely Automated Public Turing Test to Tell Humans and Computers Apart), и он используется в Интернете повсеместно. Веб-сайт по продаже билетов Ticketmaster – это отличный пример использования CAPTCHA: без такого теста «робот» потенциально мог бы купить миллионы билетов на какой-нибудь концерт или мероприятие, а после этого перепродать их по более высокой цене.


Безусловно, требование разгадать непонятно написанную комбинацию букв и цифр каждый раз, когда мы хотим что-нибудь сделать, немного напрягает. И это требует дополнительного времени. Каждый раз, когда необходимо пройти тест CAPTCHA, Вы тратите примерно 10 секунд Вашей жизни. Вот почему CAPTCHA заработала плохую репутацию среди Интернет-пользователей, несмотря на то, что он был создан как раз для обеспечения нашей безопасности.


CAPTCHA мешает кибер-преступникам
Луис Фон Ан, один из создателей CAPTCHA, продолжает развивать данный тест уже в рамках Google, его нового разработчика. Этот проект был возрожден в reCAPTCHA, расширение теста Captcha, который берет слова с отсканированных страниц старых книг (такие слова компьютеру сложнее распознать). Защищая нашу безопасность, проект одновременно помогает «оцифровывать тексты, аннотации к изображениям, и строить наборы данных для машинного обучения »… теперь хотя бы эти 10 драгоценных секунд используются для чего-то более стоящего.


Здорово, что мы помогаем оцифровывать книги, но когда речь заходит об Интернет-безопасности, но эффективна ли CAPTCHA?

Можно слишком легко обойти Google CAPTCHAТрио исследователей из Университета Колумбия (Нью-Йорк) доказали, как легко можно обойти некоторые CAPTCHA. Подобные программы значительно затрудняют хакерам использовать запрограммированные боты для автоматического и массового сбора адресов электронной почты, которые потом используются для спамовых кампаний. Но они не являются абсолютно надежными. Такие процессы могут быть автоматизированы, а в результате этого компьютеры смогут проходить тесты reCAPTCHA также эффективно, как мы с Вами.

Еще раз напоминаемо том, что мы стали слишком зависимы от технологий. А вот компьютеры все меньше и меньше зависят от человека, так что роботы становятся все более способными выполнять действия подобно человеку. И хотя это игра в «кошки-мышки», Google продолжает разрабатывать и проводить тесты подобные CAPTCHA, чтобы оградить роботов от тех действий, которые должен выполнять только человек.

Panda Security в России

+7(495)105 94 51, [email protected]

Как обойти капчу, используя распознавание звука / Хабр

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



Не будем томить интригами специалистов в области speech recognition, сразу заявив, что никакая собственная система распознавания голоса под заявленные цели не разрабатывалась. В статье используется старый добрый Pocketsphinx, но с определенной степенью настройки.

Подготовка


«Забегаешь в офис к конкурентам, у которых голосовое управление на компах, кричишь «Судо эрэм минус эрэф хоум» и убегаешь.» Из комментов.
Итак, капча предлагает себя прослушать, нажав на соответствующую кнопку. Если сохранить полученный звуковой файл, то можно выяснить, что он представляет из себя короткий отрезок аудио в .mp3. При этом, как выяснилось, капчи предлагаются с озвучкой женским голосом или мужским. «Рисунок» одних и тех же звуков, произнесенных мужчиной и женщиной разный:

Озвучивают они как буквы (причем русские), так и цифры.

На первый взгляд все грустно. Но есть и позитивный момент в том, что звуки для одинаковых букв совпадает.

Пока эти знания не сильно помогают. Как это все затолкать в пакет Сфинкса?

Установка Pocketsphinx, русской звуковой модели


*На Хабре есть статья, где звук скармливают онлайн google переводчику через перенаправление вывода звука. И на этом можно было закончить данный пост, если бы все это работало для данного случая.

Установка самого Pocketsphinx на windows (да и на linux) не сильно замысловата — скачать, установить.

Так как по умолчанию pocketsphinx идет с английской языковой, акустической моделями, словарем, понадобится все то же самое для русского языка.

Скачаем русский вариант — ссылка.

После распаковки русской модели в структуре файлов можно попробовать тестовый .wav файл decoder-text.wav cо следующим кодом на python:

import os
from pocketsphinx import AudioFile, get_model_path, get_data_path
#from pocketsphinx import Pocketsphinx

model_path = get_model_path()
data_path = get_data_path()

config = {
    'verbose': False,
    'audio_file': os.path.join(data_path, 'C://python3//decoder-test.wav'),
    'buffer_size': 2048,
    'no_search': False,
    'full_utt': False,
    'hmm': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//zero_ru.cd_cont_4000'),
    'lm': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.lm'),
    'dict': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.dic')    
    
}

audio = AudioFile(**config)
for phrase in audio:
    print(phrase)

Должно вывести в строку содержание аудиофайла: «илья ильф евгений петров золотой телёнок».
Если не вывело (как и в моей ситуации), то необходимо сконвертировать decoder-test.wav в другой аудиоформат.

Для этого понадобится ffmpeg.

Ffmpeg


После скачивания утилиты ffmpeg, положим decoder-test.wav в C:\python3\ffmpeg\bin.
Далее в командной строке конвертируем:
ffmpeg -i decoder-test.wav -ar 16000 decoder-test-.wav

Далее исправим в коде python ссылку на исходный аудиофайл:
'audio_file': os.path.join(data_path, 'C://python3//decoder-test-.wav'),

Теперь, после отработки кода:

Правда надо ждать как до второго пришествия, код очень медленно работает — около 20 сек.

Сконвертируем аудио капчи по тому же принципу из mp3 в wav и скормим аудио от капчи. Взглянем на работу кода:

Невесть какой, но результат есть. Было гораздо хуже, если если бы ничего не вывело. Как с женским голосом:

Посмотрим как улучшить результат и одновременно его ускорить.

Словарь


Понадобится собственный словарь. В данном случае он будет состоять из всех букв русского алфавита (кроме ь, ы, ъ) и цифр.

Все символы надо поместить в обычный текстовый файл по одному в каждой строке в кодировке UTF-8.

Теперь надо сконвертировать словарь.
Понадобится установка perl (он нужен для работы конвертатора).
Далее скачаем проект для конвертации ru4sphinx.

И конвертируем ранее созданный словарь:

 C:\ru4sphinx-master\ru4sphinx-master\text2dict> perl dict2transcript.pl my_dictionary.txt my_dictionary_out.txt.

На выходе получаем словарь для работы:

Расширение словаря надо переименовать из .txt в формат .dic, а сам файл положить в доступное место.

В коде python укажем расположение словаря, закомментировав старый словарь:

#'dict': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.dic')
    'dict': os.path.join(model_path, 'C://python3//my_dict.dic')

Прогоним через программу и посмотрим результат:

Лучше, но так же медленно и не все буквы правильно определились.

Создадим собственную модель


Это позволит в разы увеличить скорость работы и немного точность результата.

Пойдем коротким путем из инструкции.

Зайдем по ссылке и загрузим на сайт наш словарь, ранее созданный в формате .txt (не .dic!):

Нажмем «Compile…». На выходе можно скачать полученный пакет в архиве .tgz (он содержит все необходимые файлы):

Далее из архива возьмем файл с расширением .lm (наша модель).

Поправим python скрипт распознавания, заменив модель на вновь изготовленную:

#'lm': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.lm'),
'lm': os.path.join(model_path, 'C://python3//my_model//1896.lm'),

Пробуем:

Работает заметно быстрее — менее секунды, кроме того, все буквы определены.
Но тут необходима небольшая ремарка.

Не все символы распознаются корректно, и если вместо правильной букву выдает другой символ, то можно вручную поправить ранее созданный словарь .dic, сопоставив соответствие буквы.

Например, вместо буквы а, выводит э. Необходимо взять строку из словаря э:
э r y
и перенести(удалив старую) ее, поменяв букву:
а r y
Но так как буква «а» уже есть в словаре, то к букве надо добавить «(2)» (или 3,4), вообщем, порядковый номер, в зависимости сколько звуков уже есть в словаре:
a(2) r y

Заново конвертировать словарь не нужно. Таким нехитрым способом можно «подобрать» фонемы всех букв, почти.

Cherchez la femme


Модель и словарь работают, но не с женским голосом. Если озвучка капчи женская, то на выходе не получаем ничего. Это и хорошо и плохо одновременно. Сначала о хорошем.

Если при запуске программы ничего не распознало — значит мы имеем дело с женским голосом, так можно фильтровать «женские» капчи.

Но что с ними делать?
Здесь надо поработать с конвертацией.
Например, с «мужской» капчей частота была 16000, а для женской «подойдет» 24000:

ffmpeg -i acap(3).mp3 -ar 24000 acap(3)2.wav

Все звуки определились (в каждой строке по звуку), но их соответствие хромает.
Лучше создать отдельный словарь под женскую модель и далее ее править.
Однако, это для самостоятельного изучения.

Полезные ссылки:

1. home-smart-home.ru/raspberry-pi-pocketsphinx-offlajn-raspoznavanie-rechi-i-upravlenie-golosom
2.https://itnan.ru/post.php?c=1&p=351376
3. ru.wikipedia.org/wiki/Cherchez_la_femme

Файлы:

1. Программа.
2. Модель.
3. Русская модель.
4. Словарь.
5.Тестовые капчи.
6. ffmpeg.
7. Пачка капч.

Как обойтись без капчи? / Хабр

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

Основные причины обилия капч — это то, что разработчики не думая берут пример с популярных сервисов при разработке маленьких сайтов и не понимают почему спамят формы.

Почему спамят?

В большинстве случаев, формы спамят не для того чтобы отправить владельцу рекламное сообщение. Рекламу намного проще отправить по базе емейлов. Формы спамят, чтобы получить ссылки на сайт и этот сайт выше ранжировался в поисковых системах. Обычно ссылки таким образом получают на дорвеи — автоматически сгенерированные сайты. Спамилка не может отличить форму обратной связи от формы комментариев или сообщения в гостевой книге — поэтому спамит все подряд. Спамят формы не обычные спамеры, а дорвейщики и с другой целью.
Телефон содержит больше 3 цифр

Если в форме есть поле телефон и оно обязательное, то простая проверка: «число цифр в телефоне больше 4» сократит спам на несколько порядков. Даже если имя поля phone. Необходимости у дорвейщиков спамить формы обратной связи нет, поэтому, их спамилки редко различают это поле, а просто его заполняют всякой чепухой. Сама по себе эта проверка сократит число спама до 2-3 сообщений в месяц. Изменение имени поля еще больше сократит спам, однако, оно отключит функцию автодополнения у браузера.

В большинстве случаев для формы обратной связи достаточно этого метода.

Невидимое поле

Если мы добавим обычное поле ввода и скроем его через CSS, то пользователи его не будут заполнять (поскольку его не видят), а вот спамилка обязательно заполнит это поле.
Проверка кукиес

Многие спамерские роботы не поддерживают кукиес и можно просто сохранять при загрузке какой-то кук и проверить наличие куков, после отправки формы. Однако, у части пользователей могут быть отключены куки. При их отсутствии нужно запрашивать пароль отдельно после отправки формы.
С другой стороны, часть спамилок поддерживают куки. Но не обязательно передавать куки на странице с формой, можно загрузить невидимый для пользователя IFrame и в нем передать куку. Еще меньше спамилок загружают фреймы. Такой метод реализован на wordstat.yandex.ru — если вы отключите куки он будет у вас спрашивать капчу.
Можно попробовать загружать куки через картинку, даже если спамерка использует браузер как движок, то картинки она в большинстве случаев не загружает. Однако, меня смущает то, что Яндекс это дело организовал через IFrame. Правда, дело может быть в том, что когда писался Wordstat многие пользователи из-за медленного канала отключали картинки.
Проверка JS

Большинство спамилок не исполняют JS, особенно из внешних файлов. Можно сделать невидимое поле и в него добавлять какой-то код через JS из внешнего файла. Если у пользователя JS отключен — ему придется вводить капчу.

Исследователи проходят ReCAPTCHA при помощи сервисов Google / Habr

Проверки «докажи, что ты не робот» раздражают многих. Да, ReCAPTCHA и другие подобные инструменты помогают отсекать массу ботов и спамеров, но обычные пользователи теряют время и тратят нервные клетки на эти тесты. Поэтому специалисты по информационной безопасности со всего мира пытаются найти альтернативу, кроме того, некоторые специалисты учатся обходить капчу.

Ученым из Мэрилендского университета это удается лучше других. Они назвали свой метод unCaptcha, он позволяет обходить ReCAPTCHA от Google при помощи сервисов самой корпорации Google. Процент удачных попыток превышает 90%. Стоит напомнить, что ReCAPTCHA работает на тысячах сайтов, сервис популярнее многих других. Поэтому, научившись обходить его, специалисты получают обширные возможности.


Пример ReCAPTCHA с возможностью прослушивания информации, требуемой для решения капчи для людей, которые не могут по тем либо иным причинам пройти тесты с фотографиями или символами

Обход стал возможным благодаря работе с сервисом преобразования голоса в текст от Google. Принцип достаточно простой. UnCaptcha загружает аудиофайл ReCAPTCHA (аудио предназначено для тех пользователей, кто по тем либо иным причинам не может работать с изображениями капчи). Далее аудио разделяется на элементы — произносимые буквы и цифры. Элементы сохраняются и загружаются на разные сервисы распознавания голоса и преобразования голоса в текст.

Среди прочих сервисов используется инструмент от Google, о чем говорится выше. Затем распознанные и преобразованные в текст элементы вновь собираются вместе и вводятся в поле распознавания самой капчи. Кроме того, метод использует автоматическое распознавание произносимых фраз, что увеличивает число успешных попыток обхода капчи.

Представители Google в курсе работы ученых — по словам последних, они держат контакт с компанией около полугода. Корпорация особо не переживает по поводу капчи и ее обхода, так что не стала препятствовать публикации результатов работы специалистов.

Годом ранее исследователи разработали ИИ, который научился обходить капчу в 66% случаев. Для этого ученые использовали не обучение нейросети при помощи миллионов изображений капчи, как в обычном случае. Вместо этого нейросеть научили определять форму и начертание символов, что позволило ИИ начать «понимать» капчу.


Если тренировать ИИ на примере обычной капчи, то да, можно добиться высокой точности в ходе этой работы. Успешное распознавание доходит до 89,9%. Но стоит лишь немного изменить начертание изображений, и точность распознавания сразу же падает, причем весьма значительно.

Как-то была создана даже капча, которая предназначена для отсеивания людей. Называется она Humans Not Invited, и человеку пройти тест можно лишь при наличии везения и удачливости.

Выше показана картинка с изображениями именно такой капчи, где нужно найти все элементы с селфи-палкой. Вместо четких картинок мы видим заблюренные кусочки фотографий, где ничего разобрать нельзя. Специальным образом запрограммированный бот справляется с этой задачей без всяких проблем. Но человека как ни учи, ничего распознать не получится.

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

Как обеспечить быстрый ввод капчи – Лайфхакер

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

Содержание

  • 1 Что такие капча и что нужно учитывать при ее написании?
  • 2 В чем причина возникновения капчи?
  • 3 Как обойти или пропустить капчу?
  • 4 Советы для быстрого ввода капчи

Что такие капча и что нужно учитывать при ее написании?

Капча представляет собой, как правило, зашифрованные символы на картинке, которые необходимо расшифровать. На изображении капчи могут содержаться самые разнообразные символы: буквы кириллицы или латинского алфавита, цифры, уравнения или даже фотографии. При вводе капчи следует быть максимально внимательным, так как ошибка при расшифровке даже одного символа не позволит пройти тест.

f0ec9b e1472801919646 - Как обеспечить быстрый ввод капчи

Заработок 💰 онлайн на вводе капчиВсё, что вам нужно — это правильно ввести текст с картинки (с капчи).

Вы получаете деньги 💵 за каждый ввод капчи.

Зарегистрироваться>>>

Значение при вводе капчи имеет не только символ, но и его размер – учтите отличие прописной буквы от заглавной, также важно иногда учитывать форму символа, ведь бывает, что буква «О» похожа на цифру «ноль», и при вводе система не засчитает такую подмену.

При решении математических уравнений в качестве капчи следует вписать в поле капчи лишь ответ, например, если вас просят сложить две цифры, то ответом на капчу будет результат математических действий. Другой же необычный вид капчи – набор фотографий, среди которых следует выбрать похожие. Так, вас могут попросить выбрать фото с напитками среди самых разнообразных наборов изображений, в этом случае следует проявить внимательность и смело выбрать фото, на которых есть даже что-то похожее на напиток.

В чем причина возникновения капчи?

Капча возникает в тех случаях, когда система хочет определить, настоящий ли вы человек. Обычно это требуется при регистрации на сайтах, где вводить капчу иногда заставляют несколько раз. Если вы ввели капчу неправильно, система не позволит завершить регистрацию на сайте.

Особенно сложной выглядит задача при регистрации с мобильных устройств, для которых ресурсы не всегда имеют надлежащую версию с работоспособной капчей. В таком случае иногда ввести капчу вообще невозможно и приходится выполнять регистрацию с компьютера.

Капча также возникает на сайтах при проявлении пользователем подозрительной активности. Если вы решите заняться распространением спама, ввод капчи станет для вас очень частой задачей. Конечно, можно посоветовать просто не заниматься спам-рассылкой и другой подозрительной активностью на сайтах, однако бывает, что именно в этом и заключается ваша текущая задача и требуется распространить рекламу в соцсети или объявление на форуме. В этом случае важно найти способ быстро вводить каждую капчу или как-нибудь пропустить проверку.

Смотрите видео – Как  быстро писать сложную японскую капчу:

Антикапча-сервис ручного распознаванияНад распознаванием капчи работают живые люди, поэтому сервису подвластно все, что способен распознать человек:

текстовые капчи, графические капчи: ReCaptcha V2, KeyCaptcha, FunCaptcha и др.

Зарегистрироваться>>>

Как обойти или пропустить капчу?

Некоторые сайты и программы позволяют пропустить ввод капчи. Достаточно просто оставить поле ввода пустым, но этот способ действует редко. Есть совет и от хакеров, которые привыкли взламывать сайты и капчи – в некоторых случаях достаточно просто отключить в браузере загрузку изображений, таким образом, картинка капчи не загрузится и поле ввода можно оставить пустым – сайт сравнит два пустых значения и позволит пройти капчу. Этот способ также работает далеко не всегда, но на простом сайте без защиты попробовать стоит.

Кроме всего этого, существуют специальные программы для автоматического ввода капчи, они обеспечивают не 100%-ый ввод капчи и допускают достаточно ошибок, но в целом иногда оказываются весьма эффективными.

Советы для быстрого ввода капчи

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

Для максимальной скорости ввода попробуйте игнорировать наличие в капче заглавных и прописных букв и вводить все символы маленькими – система чаще всего засчитывает такой ввод. Также не забывайте про использование цифровой клавиатуры, на которой цифры вводятся гораздо быстрее.

Ну и один из важнейших советов – научитесь «слепому вводу». Постарайтесь не смотреть на клавиатуру при вводе капчи и мозг постепенно сам выучит расположение всех клавиш, это позволит вводить капчу очень быстро и почти автоматически.

Как видите, обойти ввод капчи в интернете непросто, однако можно всегда ускорить прохождение этого теста. Главное – проявлять терпение и набраться опыта, ведь чем чаще вы вводите капчу, тем больше тренируетесь скоростному вводу.

Обход hCaptcha с 2captcha API

Недавно Cloudflare добавила поддержку hCaptcha для страницы проверки безопасности, что привело к значительному увеличению популярности hCaptcha.

Что такое hCaptcha?

hCaptcha позиционирует себя как замену Google ReCaptcha. На самом деле это клон ReCaptcha, и даже в исходном коде и названиях элементов мы видим много ссылок на ReCaptcha.

Как мы знаем, Google использовал ReCaptcha для маркировки данных, и в результате теперь у нас есть огромный набор данных Open Images, помеченный миллиардами людей, и каждый пользователь Интернета внес в него крошечный вклад.

hCaptcha взяла ту же идею и сделала сервис маркировки данных доступным для всех, он действительно гибкий и настраиваемый, позволяющий создавать наборы данных для задач машинного обучения. И мы думаем, что они действительно хорошо работают.

С другой стороны, hCaptcha предоставляет сервис капчи в качестве решения для защиты от ботов.И, как мы все знаем, защиту от ботов можно обойти с некоторыми усилиями. 2captcha использует человеческие силы для этого, и поэтому мы думаем, что даже не затрагиваем основную задачу hCaptcha — маркировку данных, поскольку наши сотрудники имеют большой опыт в такого рода задачах.

Обход hCaptcha

Процесс решения hCaptcha действительно похож на ReCaptcha:

1. Вам нужно найти sitekey , который предоставляется в свойстве data-sitekey тега script .

3. Поместите токен в поля с именем g-recaptcha-response и h-captcha-response .

4. Отправьте форму.

Это можно сделать с помощью простого кода javascript, если вы в браузере:

пусть submitToken = (токен) => {

document.querySelector (‘[name = g-recaptcha-response]’). InnerText = токен

document.querySelector (‘[name = h-captcha-response]’). InnerText = токен

документ.querySelector (‘. проблема-форма’). submit ()

}

submitToken (‘TOKEN_STRING’)

Или вы можете создать запросы POST, предоставляющие правильные значения.

Вот и все.

Стоимость

Цена такая же, как и на ReCaptcha, 2,99 доллара за 1000 токенов.

.

Как обойти Google reCAPTCHA

Начнем с того, откуда произошло слово «капча». Оказывается, что капча — это аббревиатура от полностью автоматизированного общедоступного теста Тьюринга, позволяющего отличить компьютеры от людей. Идея технологии капчи (а также оригинального теста Тьюринга) проста: это тест, который люди могут пройти, а онлайн-боты — нет. Captcha обычно представляет собой искаженное текстовое изображение, которое необходимо повторно ввести, чтобы убедиться, что вы не компьютер.

Технология

Captcha важна, поскольку она обеспечивает простую и практичную безопасность для множества различных вещей, таких как защита регистрации веб-сайтов, предотвращение спама в комментариях в блогах, обеспечение того, чтобы в онлайн-опросах голосовали только люди, и многое другое. Без технологии captcha спамеры потенциально могут злоупотреблять этими ситуациями, создавая многочисленные учетные записи, оставляя смехотворное количество комментариев или голосуя неограниченное количество раз в одном опросе.

Первые версии капчи было относительно легко обойти компьютерам.Это привело к гонке вооружений между хакерами и разработчиками капчи. После того, как первая представит новую версию капчи, вторая будет иметь более новую, более надежную версию.

«ReCaptcha от Google — это самый простой способ избавиться от ботов. Никаких математических задач не требуется!» @jgamboa #WPEProTip pic.twitter.com/bPOegSbmbz

— WP Engine (@wpengine) 14 апреля 2016 г.

В какой-то момент Google вышел на сцену и выпустил reCAPTCHA, который теперь неофициально считается стандартом капчи.Он использует не только искаженный текст, но и изображения, и считается одним из самых надежных сервисов ввода капчи. Технология Google reCAPTCHA используется самим Google, Facebook и многими другими веб-сайтами как средство защиты от спама и злоупотреблений. Фактически, reCAPTCHA — самый популярный провайдер капчи в мире.

К сожалению, кажется, что эта технология не так надежна, как считалось ранее.

Исследователи безопасности из Колумбийского университета обнаружили недостатки в технологии Google reCAPTCHA, которые открывают хакерам возможность влиять на анализ рисков, обходить ограничения и развертывать крупномасштабные атаки.

Исследователи заявили, что они смогли разработать недорогую атаку, которая успешно решила более 70% задач reCAPTCHA с изображениями, и каждая задача требовала в среднем всего 19 секунд для решения. Они также применили систему к капче изображений Facebook и обнаружили уровень точности 83,5%. Считается, что более высокая точность в Facebook является результатом того, что изображения в Facebook имеют более высокое разрешение.

Система использовала методы, позволяющие обходить файлы cookie и токены, а также использовала машинное обучение как способ правильно угадывать изображения.Забавно то, что эта система взлома reCAPTCHA основана на собственном поиске обратных изображений Google. Но он также может работать в автономном режиме.

«Тем не менее, наша полностью автономная система взлома капчи сравнима с профессиональным сервисом решения как по точности, так и по продолжительности атаки, с дополнительным преимуществом, заключающимся в том, что злоумышленник не несет никаких затрат», — заявили исследователи, подчеркнув простоту и экономичность этой конкретной атаки.

Прежде чем результаты были обнародованы, исследователи уведомили Google и Facebook, чтобы сообщить им об этих потенциальных недостатках.Они заявили, что Google ответил попыткой улучшить безопасность reCAPTCHA, но Facebook, похоже, не предпринял никаких шагов для улучшения.

Лучшая капча, которую я когда-либо видел. pic.twitter.com/tVvbwjmTLC

— Сиддхарт Вадгама (@siddvee) 12 апреля 2016 г.

Исследователи полагают, что хакеры могут разумно взимать 2 доллара за 1000 решенных капч и в результате могут зарабатывать более 100 долларов в день. Они могли бы заработать еще больше, если бы запустили несколько атак одновременно или использовали дополнительные методы.

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

.

Об авторе

alexxlab administrator

Оставить ответ