Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём неправильно. Необходимо обновить браузер или попробовать использовать другой.
CTF и практические задания
Хакерский CTF построен на правилах классического Capture the Flag
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 — это не только решить в одиночку. Вовремя спросить или подсказать растит быстрее. Попробуйте виджет и расскажите, что удобно и чего не хватает.
Авторизационная форма с гостевым входом — и абсолютно пустой интерфейс. Флаг спрятан в fl4g.txt, но путь к нему закрыт. Исходники прилагались к заданию — и в nginx.conf на 13-й строке пропущен завершающий слэш.
Path Traversal через misconfiguration Nginx: отсутствие "/" в конце location-директивы позволяет вырваться за пределы разрешённого каталога. Уязвимость из OWASP — классика неправильной конфигурации обратного прокси, которая регулярно встречается в production-средах.
Эксплуатация в два шага: изучить nginx.conf из прикреплённых исходников, восстановить корректный путь к fl4g.txt с учётом обхода директории. Запрос к сформированному пути — флаг получен без дополнительных инструментов.
Лишний символ "/" в nginx.conf меняет семантику location: без него префиксный матч превращается в точечный и открывает path traversal на всё дерево файлов.
Архив документов возвращает 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.
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.
Письмо, которое отдаёт root: захватываем машину через Tar.
Сервис, который просто «читает архивы», кажется безобидным? А зря — одна symlink-ссылка внутри tar-архива превращает невинную распаковку в чтение /etc/passwd и кражу приватного SSH-ключа.
В этом разборе: разведка nmap, эксплуатация symlink-уязвимости (CWE-61), вход по угнанному ключу и финальная эскалация до root через sudo tar.
Пошаговый разбор машины с HackerLab для пентестеров, которые хотят набить руку на реальных техниках.
Кнопка выводит «совет» — 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.
Recon начинается со стука. Неделя 1 — nmap в четырёх режимах.
Прежде чем эксплуатировать что-либо, нужно знать: какие порты открыты, что за сервисы, какие версии. На эксплойт уходит 30 минут, на recon с нуля — 2 часа, и большинство новичков пропускают первый шаг.
Задача «Кто там?» на HackerLab — разбираемся с SYN scan, полным сканом 65535 портов, детектом версий через NSE-скрипты и OS fingerprinting. Запоминаем не команды, а что делает каждый флаг.
Дедлайн — воскресенье, 7 июня. После него — открытые writeup'ы и рекап с разбором ошибок.
Первая неделя марафона «Сетевая разведка за 30 дней» — мерч от Codeby для топ-3 solver'ов.
Финальная неделя серии «Сетевая разведка за 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.
🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.