CTF и практические задания

Хакерский CTF построен на правилах классического Capture the Flag

Writeup Web | Протокол "Затмение" | HackerLab

  • 522
  • 0
hackerlabProtocolFadeOut.webp


🌐 Авторизационная форма с гостевым входом — и абсолютно пустой интерфейс. Флаг спрятан в fl4g.txt, но путь к нему закрыт. Исходники прилагались к заданию — и в nginx.conf на 13-й строке пропущен завершающий слэш.

Path Traversal через misconfiguration Nginx: отсутствие "/" в конце location-директивы позволяет вырваться за пределы разрешённого каталога. Уязвимость из OWASP — классика неправильной конфигурации обратного прокси, которая регулярно встречается в production-средах.

Эксплуатация в два шага: изучить nginx.conf из прикреплённых исходников, восстановить корректный путь к fl4g.txt с учётом обхода директории. Запрос к сформированному пути — флаг получен без дополнительных инструментов.

💡 Лишний символ "/" в nginx.conf меняет семантику location: без него префиксный матч превращается в точечный и открывает path traversal на всё дерево файлов.

Writeup Web | Документальный архив | HackerLab

  • 536
  • 0
HackerLabDocumentStore.webp


🌐 Архив документов возвращает JSON — пропущен document с _id=3, запрос возвращает 200 без содержимого. Broken Access Control + NoSQL Injection: оператор $or обходит ролевую проверку и показывает скрытый документ. Флага нет — он в скрытом поле.

Разведка через Burp: поля _id, title, summary в ответе указывают на MongoDB. $or с несуществующим _id как «безопасная» ветка условия раскрывает документ без прав. Поле flag найдено через $exists: true. Извлечение содержимого — посимвольный blind NoSQL injection через $regex с якорем "^CODEBY{".

Автоматизация в Burp Intruder: позиция после накопленного префикса, словарь из латинских букв и спецсимволов, сортировка по длине ответа — самый длинный ответ выдаёт правильный символ. Флаг собирается итерациями как конструктор.

💡 $or с заведомо ложной второй веткой — классический способ обхода фильтрации в NoSQL без угадывания структуры ACL.

Writeup Web | Тетрис | HackerLab (WriteUp)

  • 513
  • 0
hackerlabtetris.webp


🌐 Flask-приложение с формой восстановления пароля и генератором токенов из трёх символов (b, c, d) длиной 6 знаков — всего 729 комбинаций. Токен удаляется сразу после первого обращения к /reset/<uuid>, что превращает брутфорс в гонку за сессионной cookie.

Анализ исходников раскрыл архитектуру: страницы /reset_password и /reset/<uuid>, SQLite с таблицей users, функция _generate_token() с жёстко заданным алфавитом. Стандартный перебор с проверкой 200 не работает — редирект происходит раньше. Решение: allow_redirects=False и перехват 302-ответа с последующим извлечением session cookie через x.cookies.get_dict().

Python-скрипт на itertools.product генерирует все 729 вариантов, последовательно проверяет /reset/<token>, при коде 302 сохраняет cookie и прерывает цикл. Cookie вставляются в браузер, переход на /admin — флаг получен.

💡 Honeypot в виде рабочего тетриса унёс 30 минут. Исходники раскрыли всё за 5.

Writeup Pentest Machine | Письмо | HackerLab (WriteUp)

  • 534
  • 0
MailHackerlab.webp


🔥 Письмо, которое отдаёт root: захватываем машину через Tar.

Сервис, который просто «читает архивы», кажется безобидным? А зря — одна symlink-ссылка внутри tar-архива превращает невинную распаковку в чтение /etc/passwd и кражу приватного SSH-ключа.

В этом разборе: разведка nmap, эксплуатация symlink-уязвимости (CWE-61), вход по угнанному ключу и финальная эскалация до root через sudo tar.

💡 Пошаговый разбор машины с HackerLab для пентестеров, которые хотят набить руку на реальных техниках.

Writeup Web | Просто найди его | HackerLab (WriteUp)

  • 564
  • 0
justfindhimhackerlab.webp


🌐 Кнопка выводит «совет» — POST-запрос с JSON уходит на GraphQL-эндпоинт. Первая мысль: SQL-инъекция, данные из БД. Реальность: интроспекция схемы через __schema раскрыла поле getFlag с параметром isAdmin — и флаг получен двумя запросами.

GraphQL — язык запросов для API со строгой типизацией. Ключевая особенность для пентестера: интроспекция включена по умолчанию и отдаёт полную схему API — все типы, поля, аргументы. Запрос {"query": "{__schema{queryType{name}}}"} показал структуру. Дальше — поле getFlag(isAdmin: Boolean), значение true, флаг в ответе.

Вектор: GraphQL Introspection → Schema Disclosure → прямой вызов привилегированного поля без авторизации. Классическая ошибка: логика доступа вынесена в клиентский параметр isAdmin вместо серверной проверки прав.

💡 Burp Repeater + pretty-print JSON — и GraphQL-схема читается как документация к собственному API.

Hackerlab Неделя 1: Кто там? - port scan и banner grabbing на nmap

  • 1 531
  • 15
Сканирование портов с помощью nmap в задаче по сетевой разведке на HackerLab


🔍 Recon начинается со стука. Неделя 1 — nmap в четырёх режимах.

Прежде чем эксплуатировать что-либо, нужно знать: какие порты открыты, что за сервисы, какие версии. На эксплойт уходит 30 минут, на recon с нуля — 2 часа, и большинство новичков пропускают первый шаг.

Задача «Кто там?» на HackerLab — разбираемся с SYN scan, полным сканом 65535 портов, детектом версий через NSE-скрипты и OS fingerprinting. Запоминаем не команды, а что делает каждый флаг.

Дедлайн — воскресенье, 7 июня. После него — открытые writeup'ы и рекап с разбором ошибок.

💡 Первая неделя марафона «Сетевая разведка за 30 дней» — мерч от Codeby для топ-3 solver'ов.

Hackerlab Неделя 4: Секретный кабинет - recon → exploitation chain

  • 780
  • 2
1782162635469.webp


🔍 Финальная неделя серии «Сетевая разведка за 30 дней». Recon — не отдельная фаза, а непрерывный процесс: на каждом шаге эксплуатации возвращаемся глубже. Один target, четыре инструмента, одна цепочка.

Задача: «Секретный кабинет» (500 очков). Маршрут известен, нужен пароль. Классический сценарий: enumeration → discovery → brute force auth → access.

Цепочка недели: nmap -sV -p- находит все сервисы и версии → gobuster dir с расширениями .php/.html обнаруживает нестандартные пути к auth-форме → Burp Repeater разбирает параметры POST-запроса авторизации и поведение при верном/неверном вводе → hydra бьёт по форме с данными из Burp. Если hydra не находит пароль на шаге 4 — шаги 1-3 повторяются с другим вектором.

Старт: 23 июня 10:00 МСК. Дедлайн: 28 июня 23:59. Антиспойлер: подходы без конкретных путей до дедлайна.

💡 Три недели серии складываются в одну задачу — recon → enum → discovery → auth bruteforce.

Hackerlab 🎯 Сетевая разведка за 30 дней — 4 недели практики на HackerLab

  • 3 624
  • 20
gemini-image-2_Extreme_macro_photograph_of_a_single_human_eye_razor-sharp_focus_hyper-detaile...webp


🔍 4 недели — 4 инструмента сетевой разведки. Recon — самая недооценённая фаза пентеста. 80% реальных engagement'ов начинаются с банального nmap и gobuster. Кто умеет читать вывод сканера — находит уязвимости.

Серия задач на HackerLab.pro: 1–7 июня — nmap port scan и banner grabbing (200 очков), 8–14 июня — service enumeration через SSH и FTP (200 очков), 15–21 июня — web reconnaissance с gobuster и ffuf (400 очков), 22–28 июня — полная цепочка recon → exploitation с Burp и hydra (500 очков).

Все задачи retired — writeup'ы после дедлайна приветствуются. Еженедельные треды с обсуждением инструментов. Топ-3 первых solver'ов каждой недели — мерч от Codeby.

💡 К концу июня — свой стартовый чек-лист «что делать, когда увидел новый IP».

Статья Attack-Defense CTF организация: от gameserver до автоматизации SLA

  • 1 465
  • 0
Схема сетевой топологии на тёмном антистатическом коврике с зелёными рукописными пометками. Позади — ноутбук с терминалом и светящиеся янтарные индикаторы сетевого коммутатора.


⚔️ Attack-Defense CTF изнутри: чекер с race condition на 40-й минуте, gameserver под нагрузкой и ферма флагов против ручного curl — побеждает инфраструктура, не навык взлома.

Gameserver: controller + checker master + submission + web на PostgreSQL. NAT masquerading — без него команда закрывает все IP кроме gameserver одним правилом iptables. Vulnbox: Docker Compose, первый час — бэкап до любых изменений, иначе сломанный патч без отката.

Написание чекеров: рандомизация данных обязательна, race condition в PUT/GET убивается нагрузочным тестом на 50 тиков до старта. Ферма флагов S4DFarm или DestructiveFarm: эксплойт в stdout, ферма сама раскидывает на все команды. Tulip для перехвата чужих эксплойтов из PCAP.

💡 Таблица ролей команды и статусы SLA: OK / DOWN / FAULTY / FLAG_NOT_FOUND.

Статья Организация CTF соревнований: форматы, скоринг и античит на практике

  • 1 432
  • 0
На центральном экране — дашборд CTF-платформы HackerLab.pro с турнирной таблицей и категориями заданий (forensics, pwn, web, crypto, reverse, osint)


🏁 Скорборд лёг на 40-й минуте: SQLite под нагрузкой динамического скоринга и 300+ участников. Организация CTF — инженерная задача, а не «закинул таски и открыл регистрацию».

Три формата — три разных инфраструктуры. Jeopardy: CTFd на PostgreSQL, per-team флаги через соль, rate limit 10 попыток в минуту. Attack-Defense: VLAN + WireGuard, gameserver с чекерами на каждый тик, Ansible для деплоя vulnbox — и если gameserver в одной сети с vulnbox, атакующий правит себе очки напрямую.

Динамический скоринг: формула decay в CTFd, таск за 500 очков после 30 решений стоит 65. Античит: per-team флаги делают шаринг очевидным, синхронные сабмиты с разницей менее 30 секунд — эвристика для расследования. Чеклист из 8 пунктов перед стартом.

💡 Начинайте с Jeopardy на 20 тасков — три соревнования до первого Attack-Defense.
🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

Статистика форума

Темы
52 835
Сообщения
347 314
Пользователи
161 804
Новый пользователь
snpanovyandexru