Нейросеть против обычного человеческого мозга - как обойти Turnstile капча используя node.js
Продолжая изучение современных нейросетей я все больше устоялся во мнении, что решать несложные задачи, связанные с разработкой и написанием кода можно делать без практических знаний. И что действительно нейросеть может вытеснить, так армию кворкеров, которые за 500 рублей предлагают написать вам тот или иной простенький скрипт.
В попытках это доказать я решил очередную нетривиальную, для меня, задачу по обходу Turnstile капча через сервис распознавания капчи 2капча и да, это была задача, связанна с написанием кода.
Пошли расскажу как...
Но сперва немного текстового введения. Первый раз, когда я решал подобную задачу я потратил немало времени, объясняя нейросети, что мне требуется, да и в целом, не обошлось без привлечения настоящего погромиста. Код долго не запускался, выпадали ошибки, которые приходилось решать через нейросеть, но итог был ожидаем - задача была решена.
В данном случае, прошло уже около 2-3 месяцев с момента решения предыдущей задачи - как я заставил нейросеть решить для меня капчу, и в этот раз все прошло максимально быстро и практически без ошибок.
На входе я предложил нейросети три страницы - страница с лендингом, на котором описывается, как 2капча умеет решать Turnstile CAPTCHA (как вы понимаете, конкретики там нет, так как эта страница представляет больше рекламную функцию, чем практическую) и страницу с АПИ сервиса, где уже подробно описан процес отправки капчи для ее решения и демо страница, на которой размещена сама капча, которую требуется решить. Помимо трех страниц, я скормил GPT Chat-у небольшой промт, следующего содержания:
"Представь что ты senior разработчик, изучи предоставленные страницы и напиши рабочий код для решения Turnstile капча. Составь подробную пошаговую инструкцию по запуску указанного кода и напиши, какие модули мне потребуются в процессе его запуска, а также как их установить".
В целом, могу смело сказать, что только мой "неоценимый" опыт в разработке не позволил провести полный цикл решения капчи с первого раза, но код реально вышел прям рабочий и прям с первого раза.
Итак, Чат написал мне работоспособный код и прислал подробную инструкцию, которая содержала следующие рекомендации:
Сам код, который должен распологаться в файле index.js
Рекомендации
Установка неоюходимых модулей
Создайте файл .env и добавьте туда ваш API-ключ от сервиса 2Captcha:
Далее он подробно описал, принцип работы кода, я думаю мы пропустим этот кусок, так как практической пользя в нашем случае он не несет.
Ну а так, как я указал конкретную страницу, где расположена капча, нейросеть сразу же подставила в код URL и мне осталось найти на странице Sitekey и добавить его в скрипт в указанное место (с этим я разобрался и без его помощи, пфф).
Запустите код:
В принципе все, код отработал как надо, но проблема в том, что это было только половина решения, так как для того, чтобы громогласно заявить, что я смог решить капчу через нейросеть... Опять... Требовалось, чтобы на странице с капчей появилась заветная надпись - "Капча пройдена", но рна не появлялась. Скрипт то отрабатывал как надо - отправлял запрос на сервера 2капчи, проверял наличие ответа и забирал готовый токен. На этом все. Дальше с этим токеном надо было что то делать и вот на это-то что-то я и потратил оставшиеся 40 минут.
То есть, чтобы просто вчитаться внимательно в последнюю строку мне потребовалось около 2 минут, а вот осознать, как реализовать отправку токена, через консоль браузера я смог не сразу)))
Устав ломать голову, я опять отправил описание чату и попросил помочь, ну он и помог. Оказалось так все было просто, аж стыдно стало.
В конце, для проверки валидности токена, который мне прислала 2капча нужно было перейти в консоль разработчика, вот что там говорится дословно:
"На этой демо странице мы используем поле input, значение которого можно поменять следующим образом:"
Так вот, вместо слова "ТОКЕN" надо было подставить набор символов, который я получил от сервиса и нажать на кнопку - проверить.
И о, чудо - "Капча пройдена"
Как говорится - в очередь господа HRы - будем посмотреть еще, что вы там предложите!!!