Good Carder
Professional
- Messages
- 938
- Reaction score
- 532
- Points
- 93
Введение: почему классические методы больше не работают
В 2026 году современные WAF эволюционировали в комплексные системы, анализирующие не только заголовки, но и весь «след» автоматизированной сессии.По оценкам специалистов, около 20% всех сайтов в интернете используют Cloudflare, и обход этой защиты становится всё сложнее.
Современные WAF эволюционировали далеко за пределы простой проверки User-Agent. Сегодня это комплексные системы, которые анализируют шесть независимых слоёв детекции:
| Слой | Что проверяется | Техническая реализация |
|---|---|---|
| 1. Флаг navigator.webdriver | Флаг, который headless Chrome устанавливает в true по умолчанию | JavaScript-проверка на любой странице с защитой |
| 2. User-Agent и HeadlessChrome | Наличие подстроки «HeadlessChrome» в UA, согласованность заголовков | Базовая проверка Cloudflare |
| 3. Canvas / WebGL fingerprint | Хэш пикселей от рендера off-screen canvas | DataDome, PerimeterX, Shape |
| 4. WebRTC утечка локального IP | RTCPeerConnection, раскрывающий реальный LAN IP | Incapsula, DataDome |
| 5. TLS / JA3 рукопожатие | Серверный отпечаток Client Hello | Cloudflare Turnstile, современные WAF |
| 6. Поведенческие паттерны | Энтропия курсора, тайминги, скроллы | Cloudflare Bot Fight, Turnstile v2 |
Эти слои работают последовательно: прохождение одного не гарантирует прохождения следующего. В этой статье мы разберём, как пройти каждый из них.
Часть 1. Как работают современные WAF: от анализа заголовков до поведенческих скриптов
Современные WAF представляют собой многоуровневые системы, где решение о блокировке принимается на основе скоринга.1.1. Анализ заголовков (Layer 1–2)
Большинство WAF проверяют не только наличие заголовков, но и их согласованность. Например, если User-Agent говорит о Windows, а заголовок Sec-Ch-Ua-Platform указывает на macOS — такой профиль немедленно маркируется.1.2. Поведенческие скрипты и капчи (Layer 3–4)
Современные WAF выполняют на странице JavaScript, который собирает сотни сигналов о вашем окружении. Эти сигналы включают порядок шифров в TLS-рукопожатии, методы сжатия HTTP/2, согласованность заголовков и API браузера.1.3. Turnstile: новая парадигма Cloudflare
Cloudflare активно внедряет Turnstile — CAPTCHA-решение, фокусирующееся на анализе поведения, а не на решении головоломок. Turnstile анализирует, как клиент устанавливает TLS-соединение, как он отправляет HTTP-фреймы, как он взаимодействует с API браузера после загрузки страницы.1.4. AI Labyrinth: новая ловушка 2026 года
В 2026 году Cloudflare внедрил AI Labyrinth — honeypot-систему, которая при обнаружении бота генерирует 200 OK, но наполняет страницу полностью синтетическими AI-данными. При обходе WAF всегда проверяйте содержимое страницы, не доверяя только статусу ответа.Часть 2. Специфика решений DataDome, Shape, PerimeterX
Каждое из этих решений имеет свои уникальные механизмы детекции, требующие специфических подходов к обходу.2.1. DataDome: ML-скоринг на грани
DataDome — решение, обрабатывающее решения о бот-трафике менее чем за 2 миллисекунды на граничной сети. DataDome сочетает резидентные и мобильные прокси, ротацию головless браузеров и прохождение CAPTCHA-вызовов.Технический анализ деобфускации DataDome:
DataDome использует сильно обфусцированные JavaScript-бандлы, которые ежедневно обновляются. Современный деобфускатор для DataDome обрабатывает:
- captcha.js (Webpack/Browserify-бандл, который DataDome отдаёт на странице капчи)
- interstitial.js (бандл на WAF-странице)
Процесс деобфускации включает очистку hex-имен, отделение модулей, распутывание IIFE и анализ контрольного потока для извлечения WASM-полезной нагрузки.
2.2. Shape Security (F5 Distributed Cloud Bot Defense)
Shape Security — одна из самых сложных систем детекции. Её ключевые механизмы:Виртуальная машина с динамической обфускацией:
Shape создаёт кастомную JavaScript-виртуальную машину с рандомизированными опкодами, которые постоянно меняются. Даже если вы смогли расшифровать один пакет, через несколько минут алгоритм изменится.
Многоуровневое шифрование сенсорных данных:
Данные сенсоров проходят через superpack — собственный формат кодирования Shape, затем шифруются с использованием рандомизированных seed, ротируемых в рамках сессии.
Детекция Chrome DevTools Protocol (CDP):
Система обнаруживает команды Runtime.enable и другие артефакты CDP. Даже «undetected» браузеры оставляют такие следы. Открытие DevTools на тестовой странице немедленно маркирует вас как автоматизацию.
Машинное обучение с быстрой адаптацией:
ML-модели Shape адаптируются к новым техникам обхода в течение 24-48 часов.
Базовый обход через curl_cffi:
Для многих Shape-защищённых эндпоинтов можно обойтись без браузерной автоматизации, используя curl_cffi, который имитирует точные TLS-отпечатки браузера.
2.3. PerimeterX
PerimeterX (ныне часть Human Security) использует Device Fingerprinting и поведенческий анализ для классификации трафика. Платформа предоставляет разработчикам инструменты для сбора метрик, включая checkStatus, getStatus и setCustomData, позволяя сайтам настраивать пороги безопасности.Поскольку PerimeterX активно собирает данные с устройства через JavaScript, ключ к обходу — использование чистого браузерного окружения (антидетект) и имитация реального поведения. PerimeterX менее агрессивен в обнаружении CDP, но его поведенческие модели требуют тщательной эмуляции.
Часть 3. Использование легитимных браузерных отпечатков через Puppeteer Stealth
3.1. Почему классический Puppeteer Stealth устарел
Стандартный puppeteer-extra-plugin-stealth не получал значительных обновлений более трёх лет. Исследования 2026 года показывают, что «Vanilla Puppeteer» проваливает 5 из 6 тестов на детекцию. Puppeteer + stealth-plugin проходит только 3 из 6.3.2. Рабочие альтернативы 2026 года
| Инструмент | Успешность | Особенность |
|---|---|---|
| Byparr | 92.16% | Лучший open-source инструмент для обхода Cloudflare |
| FlareSolverr | 90.38% | Прокси-сервер для решения JS-челленджей, работает как локальный сервис |
| Camoufox | 88.58% | Оптимизирован для Turnstile-heavy таргетов |
| SeleniumBase UC Mode | 80.76% | Undetected Chrome Mode с автоматическим патчингом CDP |
3.3. curl_cffi: библиотека для имитации TLS
curl_cffi — Python-библиотека, обеспечивающая имитацию TLS/JA3 отпечатков реальных браузеров:
Python:
from curl_cffi import requests
# Имитация Chrome 132 в Windows
response = requests.get(
'https://target-site.com',
impersonate='chrome132',
proxies={'https': 'http://user:pass@proxy:port'}
)
Полный список доступных отпечатков для имитации на конец 2025 — начало 2026 года включает:
- Chrome: версии 99–133 под Windows, macOS, Linux
- Safari: версии 15–18, включая мобильные отпечатки
- Edge: версии 99–133
- Firefox: версии 102–135
Для Python-разработчиков также доступен tls-client (Go-библиотека с обвязкой для Python), предоставляющий пред-собранные профили для Chrome, Firefox, Safari и Opera.
3.4. Продвинутый скрипт обхода Cloudflare Turnstile с Puppeteer
JavaScript:
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const RecaptchaPlugin = require('puppeteer-extra-plugin-recaptcha');
puppeteer.use(StealthPlugin());
puppeteer.use(RecaptchaPlugin({
provider: { id: '2captcha', token: 'YOUR_API_KEY' },
visualFeedback: true
}));
(async () => {
const browser = await puppeteer.launch({
headless: false,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-accelerated-2d-canvas',
'--disable-gpu',
'--window-size=1920,1080',
'--start-maximized'
]
});
const page = await browser.newPage();
await page.setViewport({ width: 1920, height: 1080 });
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/132.0.0.0 Safari/537.36');
await page.goto('https://target-site.com', { waitUntil: 'networkidle2', timeout: 60000 });
try {
await page.solveRecaptchas();
} catch (e) {
console.log('CAPTCHA solving failed:', e);
}
const cookies = await page.cookies();
const cf_clearance = cookies.find(c => c.name === 'cf_clearance');
console.log('cf_clearance:', cf_clearance?.value);
await browser.close();
})();
3.5. Решение капчи через 2captcha и Capsolver
Платные сервисы решают капчи в автоматическом режиме.Интеграция CapSolver с Puppeteer:
JavaScript:
const CapSolver = require('capsolver');
const solver = new CapSolver('YOUR_API_KEY');
async function solveTurnstile(page, siteKey, pageUrl) {
const solution = await solver.turnstile({
websiteURL: pageUrl,
websiteKey: siteKey,
metadata: { action: 'login' }
});
await page.evaluate(token => {
document.querySelector('[name="cf-turnstile-response"]').value = token;
}, solution.token);
}
Часть 4. Практическое руководство по отладке через mitmproxy
mitmproxy позволяет перехватывать, инспектировать и модифицировать трафик в реальном времени, критически важный инструмент для понимания работы AJAX-вызовов и сенсорных данных.4.1. EvilWAF: продвинутый MITM-инструмент 2026 года
EvilWAF работает на транспортном уровне и не трогает полезные данные от ваших инструментов, позволяя анализировать запросы в чистом виде. Совместим с любыми инструментами вроде sqlmap или ffuf.4.2. Перехват Shape Security сенсоров через mitmproxy
Python:
# addon.py для mitmproxy
import json
from mitmproxy import http
def response(flow: http.HTTPFlow) -> None:
if 'shape.com/sensor' in flow.request.url:
# Сохраняем зашифрованные сенсорные данные для анализа
sensor_data = flow.request.headers.get('X-Sensor-Data')
if sensor_data:
with open('shape_sensors.log', 'a') as f:
f.write(f"{flow.request.timestamp_start}: {sensor_data}\n")
# Модифицируем ответ, если нужно подменить fingerprint
if flow.response and flow.response.text:
modified = flow.response.text.replace('"is_bot":true', '"is_bot":false')
flow.response.text = modified
def request(flow: http.HTTPFlow) -> None:
# Добавляем правильные заголовки для эмуляции браузера
flow.request.headers['Accept-Language'] = 'en-US,en;q=0.9'
flow.request.headers['Sec-Ch-Ua'] = '"Chromium";v="132"'
Запуск mitmproxy с кастомным аддоном: mitmproxy -s addon.py
4.3. Извлечение параметров запросов через MitM для обхода WAF
При работе с такими решениями, как WAF, применяется подход, основанный на сочетании браузерной автоматизации и MITM-перехвата:- Браузер решает JavaScript-челлендж.
- Перехватчик (mitmproxy/Burp Suite) захватывает запрос и извлекает валидные параметры.
- Извлечённые параметры используются для ретрансляции через высокопроизводительные HTTP-клиенты.
Часть 5. Сводная таблица: стратегии обхода WAF в 2026 году
| WAF/Система | Основной механизм | Метод обхода |
|---|---|---|
| Cloudflare (Turnstile/Bot Fight) | Анализ JA3/JA4, поведенческий скорринг | curl_cffi + антидетект браузер + решение Turnstile |
| DataDome | ML-решения за <2 мс, JS/WASM обфускация | Прокси-ротация + деобфускация + головные браузеры |
| Shape Security (F5) | Виртуальная машина, CDP-детекция, ML за 24-48 часов | curl_cffi для TLS-имитации или кастомный браузерный движок |
| PerimeterX | Device fingerprint + поведенческий анализ | Эмуляция поведения (мышь, скролл) + чистый fingerprint |
| Akamai (Bot Manager) | TLS-анализ, оценка HTTP/2, поведенческий скоринг | Профилирование JA4 + высококачественные резидентные прокси |
Часть 6. OPSEC чек-лист: как не быть заблокированным
Перед запуском сессии:- Выберите актуальный метод обхода (Byparr/Camoufox для 2026, не Puppeteer Stealth)
- Настройте curl_cffi с актуальным отпечатком браузера (Chrome 132+, Edge 131+)
- Подготовьте пул резидентных прокси с фрод-скоростью не выше 30
Во время сессии:
- Имитируйте естественные задержки: 3-5 секунд между действиями
- Добавьте «человеческий шум»: случайные движения мыши, скроллы
- Ротируйте отпечатки TLS между запросами при высоких объёмах
После сессии:
- Сохраните валидную cf_clearance куку для повторного использования в HTTP-клиенте
- Анализируйте ошибки: если видите cf-mitigated: challenge, Cloudflare всё ещё видит вас как бота
Заключение: гонка вооружений продолжается
WAF-индустрия в 2026 году перешла от статических правил к динамическому, AI-управляемому анализу угроз. Одновременно инструменты обхода эволюционировали от простых плагинов к полноценным решениям для имитации браузеров на уровне TLS и аппаратного окружения.Три главных вывода:
- Puppeteer Stealth устарел. Используйте Byparr, Camoufox или SeleniumBase UC Mode для 2026 года.
- JA3/JA4 отпечатки решают всё. curl_cffi с актуальными профилями Chrome 132+ — новый минимум.
- Mitmproxy критичен. Способность перехватывать, анализировать и модифицировать трафик даёт понимание, как работает защита и как её обойти.
Быстрая памятка на одну строку:
«В 2026 WAF читают не заголовки, а душу твоего TLS. Замени requests на curl_cffi, а puppeteer-stealth на Byparr — и может быть, тебя пропустят»
Last edited: