Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём неправильно. Необходимо обновить браузер или попробовать использовать другой.
CTF и практические задания
Хакерский CTF построен на правилах классического Capture the Flag
Мы перебрали платформу почти целиком — от внешнего вида до новых механик. Главное:
Новый облик
Платформа получила цельный тёмный дизайн. Чище, контрастнее, приятнее для долгих сессий.
Уровни и XP
Теперь у вас есть уровень. Баллы за решённые задания — это и есть ваш XP: они повышают уровень и поднимают вас в рейтинге одновременно.
Серия (Streak)
Решайте хотя бы одно задание в неделю — и держите серию. Если неделя выпала, раз в месяц вас прикроет страховка. Новая неделя считается с выходом заданий в субботу (12:00 по МСК).
Рейтинг стал нагляднее
Появилась вкладка «Рядом со мной» — видно соседей по месту, а не только топ. Переключайтесь между сезонным и глобальным зачётом и следите за движением своей позиции.
Живая главная
Новая Live-лента показывает first blood и решения в реальном времени. Рядом — актуальные события, свежие задания и ваша активность.
Профиль
Переработан под новую систему: прогресс по категориям, достижения с понятной следующей целью и радар ваших компетенций.
Удобнее искать задания
В категориях заработали поиск, фильтры и...
Кандидат с тремя сертификациями и пятью годами опыта не выстроил цепочку path traversal → RCE за 40 минут. Участник без единого дня в индустрии закрыл ту же задачу за 12 минут — и попал в Red Team.
CTF-формат вскрывает то, что прячет резюме: скорость под давлением, глубину владения техниками, способность строить цепочки fingerprinting → initial access → privesc. В статье — маппинг CTF-категорий на MITRE ATT&CK (T1190, T1068, T1110), проектирование задач по kill chain и разбор таска на базе CVE-2023-32315 (path traversal в Openfire, CVSS 8.6, CWE-22, CISA KEV).
SOC и HR смотрят на сертификаты — CTF показывает, кто реально строит цепочку, а кто пересказывает методологию.
DownUnderCTF 2023: 2000 команд, 32 100 RPS, $876 AUD — и один VPS за 2000 рублей выдержал университетский CTF на 120 человек так же стабильно. Разница — в понимании, когда nsjail-изоляция обязательна, а когда Docker Compose закрывает задачу.
CTFd управляет скорбордом и флагами, kCTF разворачивает контейнеры с изоляцией через nsjail + seccomp + user namespaces — они не конкуренты, а пара. PWN-задания с RCE требуют per-connection изоляции: без неё участник сбрасывает флаг соседу или уходит в container escape (MITRE T1611).
До 500 участников — CTFd + Docker Compose на VPS за 30 минут.
Организаторы думают о скорборде — падают на runtime-изоляции. 4579 инстансов за событие не поднять без Kubernetes.
Сайт с формой поиска — POST на /api/posts/search, параметр filter передаётся в base64. Кавычка в запросе возвращает 500. SQL-инъекция подтверждена.
Разведка через F12: исходный код раскрывает структуру API и схему декодирования. Чтобы не конвертировать каждый payload вручную — расширение Burp для автоматической base64-кодировки на лету.
Цепочка эксплуатации: ORDER BY 3 — три колонки. UNION SELECT с NULL подтверждает вывод данных. Fingerprinting через sqlite_version() — SQLite 3.40.1. SELECT tbl_name FROM sqlite_master — таблица flag, колонка flag. Финальный UNION SELECT выводит флаг.
Классический UNION-based SQLi в POST-запросе с base64-обёрткой. Защитное расширение Burp сэкономило время на ручном кодировании каждого payload.
500 на кавычку в POST-теле — первый и главный сигнал SQL-инъекции. Никакого fuzz-инструмента, один символ.
Главный сайт — только то, что вам решили показать. Реальная поверхность атаки: скрытые директории, vhosts, admin-панели по нестандартным путям. Неделя 3 серии «Сетевая разведка за 30 дней».
Цель: GreenEdge — внутренний портал с «нестабильными компонентами». Инструменты недели: gobuster с флагом -x php,html,txt для directory brute force, ffuf с фильтром -fc 404 когда сервер отдаёт 200 на несуществующее, ffuf через Host header для vhost enumeration на одном IP, wfuzz для перебора параметров API-эндпоинтов.
Wordlist — не «больше = лучше»: SecLists под конкретную задачу даёт результат за 5 минут вместо часа с medium-списком. Vhost enumeration часто оказывается ключом, когда gobuster по основному хосту ничего не находит.
Старт: 15 июня 20:00 МСК. Дедлайн: 21 июня 23:59. Антиспойлер: до дедлайна — инструменты и подходы, конкретные пути и vhosts — в writeup после.
gobuster vs ffuf: оба нужны. Один пропускает то, что замечает другой — особенно при нестандартных кодах ответа.
ASCII-конвертер на первый взгляд — обычный инструмент. Первая гипотеза: CMD Injection. Проверка payload {{ 7*7 }} вернула 49 — перед нами Jinja2 и классический SSTI.
Server-Side Template Injection позволяет взаимодействовать с подклассами Python напрямую. Через {{ [].__class__.__base__.__subclasses__() }} получаем список доступных классов. На индексе 137 — os._wrap_close: класс из модуля os, через который открывается доступ к глобальной области видимости модуля и функциям popen() и system().
Payload {{ [].__class__.__base__.__subclasses__()[137].__init__.__globals__['popen']('ls -lah').read() }} показывает структуру файлов проекта. Финальный шаг — grep по app.py для вывода флага без лишнего кода приложения.
Маркетплейс с балансом $100, товарами и формой продажи. Купил Bad USB — $20 ушли, товара нет. Сканирование нашло /sell — можно выставлять свои товары с уникальным ID. Пазл сложился: Race Condition.
Механика: создаём товар с ценой $-99 (три символа, отрицательное число — при вычитании система прибавит сумму к балансу). Регистрируем второй аккаунт, берём его session cookie. Python-скрипт запускает 100 потоков одновременно на покупку товара через POST /buy/ID. Запускаем 5-6 раз — баланс растёт.
Race Condition срабатывает, потому что сервер не блокирует параллельные транзакции атомарно: между проверкой баланса и его списанием успевают пройти десятки запросов. Сервер «думает», что у нас достаточно средств, и выполняет все операции.
После накопления баланса покупаем секретный девайс — флаг получен.
Ключевой шаг — отрицательная цена + многопоточность. Без второго аккаунта покупка собственного товара заблокирована.
CTF-дамп Dragonica: 40 000 bcrypt-хэшей, cost factor 10, две RTX 3090 — и 1500 паролей за 14 часов. Этого хватает для credential stuffing на Steam и Discord.
Типичный стек частного сервера — PHP 5.x, MySQL, phpMyAdmin без ограничений доступа. Fingerprinting через nmap -sV вскрывает открытый 3306 и /phpmyadmin/ за минуты. UNION-based SQLi в форме логина (T1190) — и таблица accounts с хэшами на экране. Дальше офлайн: Hashcat, rockyou плюс геймерский wordlist с мутациями.
Bcrypt держится на EksBlowfish и встроенной 128-битной соли — rainbow tables бесполезны, каждый хэш крекается индивидуально. Но cost factor 10 — дефолт Go и PHP — даёт лишь 1024 итерации.
4% от базы звучит ничтожно — но именно эти 1500 пар логин-пароль работают на сторонних сервисах.
Открытые порты — это только начало. Реальный recon — выжать из каждого сервиса максимум до начала эксплуатации. Версия сервиса даёт known CVE. Баннер выдаёт конфигурацию. Anonymous FTP — готовые файлы. Неправильно настроенный SSH — вектор атаки.
Неделя 2 серии «Сетевая разведка за 30 дней». Цель — VDS, где админ настроил SSH и FTP «как-нибудь, потом исправлю». Разбираемся, как читать сервисы, а не просто видеть порты.
Инструменты недели: nmap -sV со скриптами ftp-anon и ssh-auth-methods, ручной anonymous FTP, ssh-audit для анализа слабых алгоритмов, nc для сырого banner-grab, searchsploit для поиска CVE по баннеру.
Старт: 8 июня 20:00 МСК. Дедлайн: 14 июня 23:59 МСК. Антиспойлер: до дедлайна обсуждаем подходы, не команды. После — writeup'ы открыты.
SSH version banner отдаёт OS distribution — feature это или information disclosure? Разбираем в комментариях.
HackerLab запустил форум-виджет с прямой интеграцией Codeby: обсуждение задач, подсказки и личная переписка теперь живут прямо на странице таска — без переключения вкладок.
Что внутри: живое обсуждение рядом с заданием, цитирование в один клик, загрузка скриншотов и файлов прямо в тред, реакции, онлайн-статусы, закреплённые сообщения. Свежие ответы подтягиваются автоматически.
Личные сообщения встроены в виджет: бейдж непрочитанных, поиск собеседника по имени, редактирование отправленного. Авторизация через Codeby ID. На мобильном всё адаптировано: список и переписка, долгое нажатие открывает действия с сообщением.
CTF — это не только решить в одиночку. Вовремя спросить или подсказать растит быстрее. Попробуйте виджет и расскажите, что удобно и чего не хватает.
🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.