Запросы с Cloudflare

Поддержка
  • Здравствуйте, я пытаюсь использовать запросы для автоматизации сайта, на котором включен Cloudflare, поэтому я попытался сначала загрузить сайт в браузере, чтобы обойти страницу Cloudflare, затем загрузить файлы cookie и использовать запросы. Я пробовал этот метод на других сайтах. и это сработало, но на этом сайте возвращается эта ошибка.
    b27a1425-042c-4ab8-9b24-14a04c1f6bbb-image.png

  • @Shabjdeed

    Вероятно, это сайт использует https://www.cloudflare.com/application-services/products/bot-management/.
    Если пытаться делать запросы по HTTP/2.0, то обойти защиту вообще нет вариантов, так как устанавливается новое соединение и сайт(cloudflare) это понимает.

    Но сайт(cloudflare) использует в том числе QUIC(HTTP/3.0), а там нет установки соединения на уровне сетевых протоколов.

    Возможный обход:

    • использовать только QUIC
    • настроить экспорт (Pre)-Master-Secret из Chrome(думаю, что в случае с BAS тоже будет работать) в файл https://wiki.wireshark.org/TLS#using-the-pre-master-secret
    • на этапе копирования данных из Chrome копировать не только http заголовки, но и НЕ устанавливать новое соединение QUIC, а использовать имеющееся из Chrome.

    Как это реализовать - да хз. Для начала можно вручную перехватить (Pre)-Master-Secret и остальные ключи с помощью Wireshark и создать один пакет QUIC, чтобы проверить гипотезу.

    Уровень сложности для программиста - запредельный, потому что надо иметь фундаментальные знания по сетевым протоколам и опыт программирования на низком уровне OSI model.

    P.S.
    По хорошему нужен функционал в BAS, что при создании нового инстанса http клиента - копировать данные из текущей страницы Chrome, а там уже BAS сам должен разбираться по какому протоколу сайт открыт, какие данные нужно копировать и на каком уровне OSI model и так далее. Технически эта задача решаема.

    P.P.S.
    Наверное, самое разумное - это отказаться от использования внешнего http клиента и делать запросы на Javascript в контексте браузера. Как это делать, на этом форуме обсуждалось. Да и в интернете куча инфы, я думаю.

  • @sergerdn большое спасибо, чувак, ты лучший, я попробовал последний метод, который ты сказал, для запуска запросов через JavaScript браузера, и он сработал!

  • @sergerdn В настоящее время я столкнулся с проблемой, связанной с переменной, которая была проанализирована в запросе. Я не уверен в его источнике и местоположении. Для дальнейшего исследования я изучил код JavaScript веб-сайта. Мне удалось найти раздел, в котором генерируется переменная, но я изо всех сил пытаюсь понять, как ее сгенерировать самостоятельно. Код минимизирован, что усложняет его понимание. Не могли бы вы помочь мне в решении этого вопроса?

    image.png

  • @Shabjdeed Там скорей всего какая-то хэш функция вроде HMAC и потом результат преобразуется в hex формат. Используюте точки остановки в дебаггере браузера для изучения кода

  • @UserTrue Несмотря на использование точек останова и трату многих часов на этот процесс, многие аспекты все еще ускользают от моего понимания. Основное препятствие заключается в минифицированном характере кода в сочетании с моим ограниченным опытом работы с этой конкретной формой кода.

  • @Shabjdeed визуально могу только сказать что там склеивается 3 строки , потом получается их хэш и он преобразуется в hex.

  • @Shabjdeed said in Запросы с Cloudflare:

    Не могли бы вы помочь мне в решении этого вопроса?

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

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

    Или отказаться от использования запросов, так как такие техники требуют опыта в большинстве случаев.