Как очистить сайты, защищенные Kasada
4 апреля 2023 г.Как очистить Kasada с помощью Playwright, необнаруженного Chromedriver и других инструментов
Очистка веб-сайта, защищенного Kasada
В течение последних недель я общался с Димитаром Крастевым из Crawlio о своем недавнем открытии программного обеспечения Kasada для защиты от ботов, обобщено в этом посте на LinkedIn.
Эти примечания объединяют то, что мы заметили в наших предыдущих статьях, например, нашу матрицу Anti-Detect Anti-Bot a> или наш последний пост о веб-разблокировщике Bright Data.
В этом посте мы расскажем, как мы можем очищать веб-сайты, защищенные Kasada, с помощью бесплатных и коммерческих инструментов.
Весь код можно найти в нашем репозитории GitHub ниже.
репозиторий GitHub Free Readers
Что такое Kasada и как это работает?
Kasada – один из новейших игроков на рынке решений для защиты от ботов, который отличается некоторыми особенностями. р>
Вы не можете идентифицировать веб-сайт, защищенный Kasada, с помощью Wappalyzer (вероятно, пользовательская база не так широка), но типичное поведение при их просмотре следующее.
Во-первых, Kasada не бросает никаких вызовов в виде капчи, но при первом же обращении к сайту выдает ошибку 429. Если эта задача решена правильно, страница перезагружается, и вы перенаправляетесь на исходный веб-сайт.
По сути, это то, что они называют на своем веб-сайте философией нулевого доверия.
<цитата>Касада предполагает, что все запросы являются истинными, пока их невиновность не будет доказана путем проверки трафика на предмет автоматизации с помощью процесса, невидимого для людей.
И еще:
<цитата>Автоматические угрозы обнаруживаются по первому запросу, даже не пропуская запросы в вашу инфраструктуру, включая новых ботов, которых раньше не было.
Чтобы обойти этих антиботов, обычно есть два способа:
* Обратное проектирование вызовов JS, деобфускация кода.
* Сделайте наши парсеры неотличимыми от людей, просматривающих веб-страницы.
Поскольку первый вариант хоть и хорош для понимания того, что происходит под капотом, но отнимает много времени и работает только до тех пор, пока код не будет изменен, и всегда с их сайта, похоже, такое случается часто.
<цитата>Касада постоянно меняется, чтобы максимально повысить сложность и обеспечить долгосрочную эффективность.
Наш собственный язык интерпретации работает в браузере, чтобы удержать злоумышленников от расшифровки клиентского кода. Устойчивая обфускация уравновешивает игровое поле, меняя набор навыков с простого для обратного проектирования JS на наш собственный полиморфный метод.
Запутанный код и логика обнаружения рандомизированы и динамически изменяются, чтобы свести на нет предыдущие знания. Все коммуникации между клиентом и Kasada зашифрованы.
Итак, учитывая, что нам нужно сделать наши парсеры максимально похожими на людей, давайте посмотрим, что мы можем сделать, чтобы обойти это.
Бесплатные решения
Драматург с Chrome
В нашей матрице Anti-Detect Anti-Bot я протестировал Kasada с Chrome безуспешно со следующей настройкой, которая со временем доказала свою надежность.
Опять же, благодаря Dimitar и его публикации на странице Crawlio, я захотел попробовать еще раз.
Итак, я модифицировал свой тестовый парсер и проверил параметры, используемые Chrome, и это сработало!
Я оставил только несколько вариантов отключения песочницы Chrome, уведомления о первом запуске и флага автоматического управления, но добавил:
ignore_default_args=["--enable-automation"]
Это ведет себя как старая опция «—disable-infobars», которая использовалась, чтобы не отображать уведомление о том, что «Chrome управляется службой автоматизированного тестирования». Я изо всех сил пытался отключить его при использовании Playwright и, наконец, обнаружил, что таким образом я могу отключить его.
Я также добавил опцию:
‘--disable-blink-features=AutomationControlled’
В результате я смог открыть первую страницу нашего целевого веб-сайта без каких-либо проблем и информационной панели.
Драматург с Firefox
Еще один способ использовать Playwright для борьбы с Kasada — открыть экземпляр Firefox и загрузить целевой веб-сайт. из него.
Мы уже видели, как это работает в матрице Anti-Detect Anti-Bot, и настройка довольно проста.
Необнаруженный Chromedriver
То же самое можно сказать и о решении Необнаруженный Chromedriver.
Если вы не знаете, что такое Необнаруженный Chromedriver, это в основном специально адаптированная версия Chromedriver для просмотра веб-страниц со всеми настройками и конфигурацией, настроенными так, чтобы они были почти идентичны браузеру Chrome, используемому реальным человеком.
Без какой-либо дополнительной настройки вы можете обойти вызов Касады.
Коммерческие решения
Драматург с Войти
Вместо открытия браузера Chrome или Firefox мы можем использовать браузер GoLogin и его многочисленные профили, предлагаемые для обхода Kasada.
В этом случае мы собираемся присоединить сценарий Playwright к открытому экземпляру GoLogin, но результат то же самое.
Bright Data Web Unblocker
Последнее предложенное решение; это всегда коммерческая версия, но единственная, для которой не требуется навороченный браузер.
Как мы видели в обзоре продукта, Bright Data Web Unblocker — это прокси-API, который мы можем интегрировать в наши проекты Scrapy (или любой другой инструмент), и он автоматически обрабатывает все настройки и функции, необходимые для обхода Kasada. вызов.
Заключительные замечания
По моему опыту, до 2022 года Kasada представляла собой реальную проблему для нашей деятельности по сбору веб-страниц, но благодаря дальнейшим исследованиям с моей стороны, а также доступным инструментам и настройкам у нас появилось множество возможностей обойти это решение.
Нет необходимости говорить, что все действия по очистке веб-страниц должны выполняться с соблюдением этических норм, и все эти методы необходимы для извлечения только тех данных, которые нам разрешено получать.
В этой ситуации интересно посмотреть, как далеко зайдет эта игра в кошки-мышки за счет удобства пользователей и позиции поисковых систем на хорошо защищенных веб-сайтах.
Также опубликовано здесь
Оригинал