Темы




Представляем соревнование Capture the Flag по PHP от Cloudflare

Коротко сгенерировано ИИ по тексту статьи
  • Cloudflare запустила ограниченный по времени CTF на HackerOne: нужно обойти WAF и получить `/flag` через CVE-2026-109618 и CVE-2026-109619.
  • Целевая система работает на PHP 8.5.11 и Apache 2; изолированная среда и файл `/flag` сбрасываются каждые несколько минут.
  • Для вознаграждения нужны контролируемое RCE, успешная проверка актуального флага и воспроизводимый отчёт; рассматривается первый полный отчёт.

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

Прошлая неделя войдёт в историю интернет-безопасности. Сначала были скомпрометированы восемь промежуточных сертификатов eMudhra, что открыло возможность подделывать сертификаты и выдавать себя за серверы. Затем появилась php2shell — серьёзные уязвимости в PHP, среде выполнения, на которой работает значительная часть интернета.

Пока развивались эти события, специалисты Cloudflare круглосуточно работали над защитой наших клиентов и интернета в целом. Мы выпустили обновления для клиентов и несколько средств защиты, обновили межсетевой экран веб-приложений (WAF), добавив новые правила для блокировки эксплуатации уязвимостей PHP, и представили новую функцию под названием обнаружение по полной транзакции.

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

Проверьте наш WAF в деле

Защита систем от подобных уязвимостей — это непрерывный процесс, а не разовое мероприятие. Широкое распространение ИИ позволяет злоумышленникам выявлять новые векторы атак с беспрецедентной скоростью и эффективностью, поэтому для проверки наших предположений и усиления защиты крайне важно собирать данные из реальных условий.

Именно поэтому сегодня мы запускаем соревнование Cloudflare по поиску флага (Capture the Flag) в рамках нашей программы Bug Bounty. Мы разместили за WAF намеренно уязвимую установку PHP и приглашаем специалистов по безопасности на HackerOne попробовать обойти защиту и захватить флаг.

Как работает это соревнование по поиску флага (CTF)

Мы постарались сделать всё просто. Задача посвящена CVE-2026–109618 и CVE-2026–109619 — двум уязвимостям PHP, лежащим в основе php2shell. Целевая система работает на стандартной версии PHP 8.5.11 (со стандартными расширениями PHP), Apache 2 (через mod_php) и пустом файле index.php внутри Cloudflare Container. Перед ней включены стандартные правила защиты WAF от этих уязвимостей. Внутри изолированной среды находится файл с именем /flag.

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

Схема отправки эксплойт-полезной нагрузки, захвата и проверки флага.

Ваша миссия, если вы решите её принять: обойти защиту WAF, эксплуатировать PHP в изолированной среде и получить содержимое /flag. Вы можете использовать собственные инструменты для исследований. На странице соревнования указаны сведения о среде, рамки задачи и форма для проверки флага.

Требования к участию

Это соревнование ограничено по времени и проводится в рамках программы Cloudflare Bug Bounty на HackerOne. На все аспекты соревнования распространяются условия HackerOne и правила программы Cloudflare на HackerOne (далее — «Условия вознаграждения»). Если вы обнаружите подходящий обход защиты, для получения вознаграждения необходимо выполнить следующие требования:

  1. Все участники должны зарегистрировать аккаунт HackerOne, ознакомиться с Условиями вознаграждения и согласиться с ними до участия в CTF.
  2. Продемонстрировать выполнение контролируемого атакующим PHP-кода или команд внутри изолированной среды через авторизованный POST-запрос.
  3. Использовать это удалённое выполнение кода (RCE), чтобы получить актуальное содержимое /flag, а затем успешно проверить флаг через интерфейс пользователя CTF (UI). Выполните проверку до сброса среды; сохраните успешный результат для последующего рассмотрения.
  4. Отправить Cloudflare конфиденциальный отчёт через HackerOne. Укажите в заголовке PHP CTF и предоставьте:
    1. Конечную точку, полную полезную нагрузку и последовательность запросов, сохранив соответствующие заголовки, кодирование и байты тела запроса.
    2. Необработанные записи запросов и ответов либо понятное доказательство работоспособности, достаточное для воспроизведения всей цепочки.
    3. Описание обхода WAF, выполненного кода или команды и того, как их выполнение позволило получить /flag.
    4. Идентификатор попытки, результат успешной проверки в UI, а также время эксплуатации и проверки в формате UTC. При необходимости укажите флаг конфиденциально, чтобы его можно было проверить.
    5. Объяснение того, чем метод или полезная нагрузка существенно отличаются от других, и сведения об известных вам связанных отправках.

Проверка в UI не отправляет отчёт на HackerOne и не устанавливает приоритет рассмотрения. Раскрытие файла без RCE, RCE без успешного получения флага и его проверки в UI, эксплойты, работающие только локально, повторное обнаружение известных уязвимостей PHP, а также различия в обнаружении WAF или неполные цепочки, не достигающие цели полностью, не дают права на вознаграждение.

Для получения вознаграждения необходим существенно отличающийся метод обхода защиты или полезная нагрузка эксплойта, даже если речь идёт об одной и той же CVE в PHP. Новые флаги, сбросы среды, идентификаторы попыток или косметические изменения, включая эквивалентные способы кодирования, не считаются уникальными. Эквивалентные отправки считаются дубликатами, даже если уязвимость ещё не устранена; рассматривается только первый полный и воспроизводимый отчёт на HackerOne. Окончательное решение о дубликатах и вознаграждении принимает Cloudflare.

Мы записываем метаданные попыток и полезные нагрузки запросов, чтобы анализировать отчёты, поэтому используйте только тестовые данные. Не отправляйте учётные данные, персональную информацию или что-либо ещё, что вы не хотели бы включать в исследовательские записи. Перед тестированием ознакомьтесь с уведомлением Cloudflare о конфиденциальности.

Тестирование разрешено только для защищённых WAF конечных точек /php/* на домене соревнования (только методом POST). Другие сервисы Cloudflare, прямой доступ к базовой инфраструктуре, основной проект PHP и сторонние системы не входят в рамки задачи. Запрещены отказ в обслуживании, сканирование с высокой интенсивностью, закрепление в системе, социальная инженерия и атаки на других участников. При получении кода 429 или 503 прекратите запросы.

В случае противоречий между этой публикацией в блоге и Условиями вознаграждения преимущественную силу имеют Условия вознаграждения.

Cloudflare оставляет за собой право в любой момент приостановить или прекратить это соревнование. После удаления соревнования с HackerOne оно считается официально завершённым, поэтому обращайтесь к странице Cloudflare на HackerOne, чтобы узнать актуальную информацию о том, продолжается ли соревнование.

Это не замена установке исправлений

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

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

Надеемся, это соревнование станет для всех полезной возможностью внести свой вклад. Если хотите поучаствовать, переходите на php-rce.cloudflare.app: там вас ждёт флаг, и нам интересно, удастся ли вам его получить.

Cloudflare Blog прочитано 1956 раз