CTFINF Обучение
Offensive Web: наступательная веб-безопасность
Практический путь от безопасного старта и HTTP до чтения серверного кода, аутентификации и авторизации, SQL-инъекций, XSS, политик браузера, работы с файлами, инъекций команд, SSRF и XXE, безопасности API и JWT, итоговых работ по чужому коду и продвинутых тем веб-безопасности.
Длительность: 108 уроков · около 64 часов · можно проходить по частям
Цена:
15 000
500
Горящая скидка · 500 ₽ при пополнении, 1
инфер
= 1 ₽
О курсе
Практический курс по исследованию веб-приложений для учеников 9–11 классов. Начать раньше можно при достаточной подготовке и самостоятельности. Для полного курса понадобятся базовый Python, терминал Linux и уверенная работа с браузером и файлами. Вводные модули объясняют HTTP, DevTools, Burp Suite, curl и базовую модель веба без требования программировать в первых уроках.
Для кого курс
Основная аудитория — ученики 9–11 классов. Начать раньше можно при достаточной подготовке и самостоятельности.
Чему научится ученик
Безопасно работать в персональной лаборатории; читать HTTP, клиентский и серверный код; исследовать вход, сессии, авторизацию и бизнес-логику; проверять конфигурацию веб-сервисов; ограниченно и доказательно исследовать SQL-инъекции, XSS, CSRF и CORS, политики браузера, обход путей, чтение локальных файлов и загрузку файлов, инъекции команд, SSTI и небезопасную десериализацию, SSRF и XXE, безопасность API и JWT; разбирать чужой код на итоговых работах — с исходниками и без — и знакомиться с продвинутыми темами. Курс учит методу и доказательности, а не «волшебным» приёмам: вы поймёте, что именно доказывает каждая находка и чего она не доказывает.
Формат практики
Каждый модуль — это короткая теория и практика в персональной лаборатории: она запускается в один клик и доступна только вам. Задания двух основных видов. Перенос — вы исследуете стенд и вносите найденные значения (параметр, заголовок, фрагмент ответа); попадать нужно сразу в несколько полей, поэтому угадать наугад не выйдет. Работа в лаборатории — вы добиваетесь нужного состояния прямо в стенде. Ответы проверяются автоматически, число попыток не ограничено. Если застряли, подсказки открываются постепенно: сначала дают ориентир, а последний уровень проводит по решению задачи. Несколько заданий на код выполняются во встроенном интерпретаторе; отдельную среду для них устанавливать не нужно.
Подготовка к этапам ВСОШ
Материалы курса размечены по уровню и помогают выстроить подготовку последовательно.
- Начало работы и безопасная лаборатория
- HTTP и исследование веб-приложений
- HTML, DOM и JavaScript
- Аутентификация, сессии и восстановление доступа
- Авторизация, контроль доступа и бизнес-логика
- Чтение серверного кода
- Ошибки конфигурации безопасности
- Основы SQL, базы данных и SQL-инъекции
- XSS: отражённый, хранимый, DOM и CSP
- CSRF, CORS и политики браузера
- Обход путей, локальные файлы и загрузка файлов
- Инъекция команд, SSTI и небезопасная десериализация
- SSRF, XXE и внутренние сервисы
- Безопасность API и JWT
- Итоговые работы: с исходным кодом и без него
- Продвинутые темы веб-безопасности
Что нужно до начала
Лаборатории запускаются на сервере и открываются в браузере — устанавливать сами стенды не нужно. Для полного курса понадобятся браузер с DevTools, Burp Suite Community Edition, терминал Linux с curl и базовый Python 3. Вводные модули объясняют HTTP, инструменты и нужные команды; программирование в первых уроках не требуется, а библиотека requests разбирается по ходу курса.
Программа курса
Модуль 1. Начало работы
бесплатноБезопасный старт в персональной лаборатории и необязательная проверка подготовки.
Модуль 2. HTTP и исследование веб-приложений
бесплатноОт действия в интерфейсе до подтверждённой карты точек обращения.
Модуль 3. HTML, DOM и JavaScript
закрытоЧтение формы и клиентского кода, связь JavaScript с HTTP и проверка серверного состояния.
Модуль 4. Аутентификация, сессии и восстановление доступа
закрытоВход, жизненный цикл сессии — от создания до завершения, признаки формы, восстановление доступа, второй фактор (MFA) и небольшая локальная автоматизация.
Модуль 5. Авторизация, контроль доступа и бизнес-логика
закрытоПроверки владения, ролей, полей, tenant-границ, бизнес-инвариантов и конкурентных запросов.
Модуль 6. Чтение серверного кода
закрытоЕдиный метод чтения серверного (backend) кода: от HTTP-маршрута и источника данных через промежуточные обработчики, проверки и ветвление до точки эффекта. Flask и Express составляют ядро; Go и PHP учат переносить метод по короткой шпаргалке.
Модуль 7. Ошибки конфигурации безопасности
закрытоПроверка того, какие запросы принимает точка обращения (endpoint), где открыты служебные разделы, как Nginx сопоставляет URL с файлами и каким заголовкам доверяют proxy и приложение. Выводы подтверждаются кодом, конфигурацией и свежими HTTP-ответами.
Модуль 8. Основы SQL, базы данных и SQL injection
закрытоОт реляционной модели и обычных SQL-запросов до доказательной, ограниченной проверки SQL injection в персональном приложении с MySQL.
Модуль 9. XSS: reflected, stored, DOM и CSP
закрытоОт определения контекста вывода до доказательной проверки reflected, stored и DOM XSS и выбора защиты по первопричине.
Модуль 10. CSRF, CORS и browser policies
закрытоОт точной модели origin, site и ambient cookie до доказательной проверки CSRF, CORS, clickjacking и postMessage.
Модуль 11. Path Traversal, LFI и File Upload
закрытоОт canonical path и файловых sinks до Nginx mapping и безопасного жизненного цикла загрузки.
Модуль 12. Инъекция команд, SSTI и небезопасная десериализация
закрытоОт строк команд и аргументов до серверных шаблонов и границы загрузки объектов.
Модуль 13. SSRF, XXE и внутренние сервисы
закрытоОт SSRF с видимым ответом и без него до безопасной проверки внутренних API; затем — XXE в обычных XML-документах и XML внутри загружаемых форматов.
Модуль 14. JWT и безопасность API
закрытоПроверка подписи и правил JWT; контроль доступа к объектам, функциям и полям API; забытые версии, ограничения ресурсов, подлинность webhook, повтор событий и доверие к внешним сервисам.
Модуль 15. Итоговые работы: с исходным кодом и без него
закрытоДве итоговые работы с доказательствами: разбор нового проекта с исходным кодом и самостоятельное исследование только по поведению приложения, с точными границами каждого вывода.
Модуль 16. Продвинутые темы Offensive Web
закрытоНеобязательный продвинутый маршрут: неоднозначности протоколов и парсеров, границы доверия и безопасные модели сложных атак.
Чем курс отличается от обычных курсов по ИБ
Курс построен вокруг доказательности, а не «набора эксплойтов». В каждой теме вы разбираете, что именно подтверждает находка и чего она не доказывает, — это тот самый навык, который проверяют на олимпиадах и в реальной работе. Практика идёт в изолированных персональных стендах: вы исследуете только свою лабораторию, ничего чужого и ничего в открытом интернете. Материал выстроен от безопасного старта к продвинутым темам и размечен по уровню сложности, поэтому подходит и новичку в вебе, и тому, кто уже готовится к заключительному этапу. Олимпиадные привязки — только к реальным, проверяемым задачам ВСОШ; там, где подходящей задачи нет, это честно указано.
Частые вопросы
Нужно ли уметь программировать?
Для старта — нет. Вводные модули объясняют HTTP, DevTools, Burp Suite и curl без программирования. Дальше пригодятся базовый Python и уверенная работа в терминале Linux; нужные команды и библиотека requests разбираются по ходу курса.
Это законно? На чём я тренируюсь?
Да. Вся практика идёт в персональной лаборатории, которая запускается только для вас и живёт ограниченное время. Вы исследуете свой стенд, а не чужие сайты. Приёмы из курса нельзя применять к системам без разрешения владельца — об этом отдельно говорится в материалах.
Гарантирует ли курс победу на олимпиаде?
Нет, и мы честно об этом говорим. Курс даёт метод, практику и разбор форматов, близких к ВСОШ, — а результат зависит от вашей подготовки. Все олимпиадные примеры привязаны к реальным задачам, ничего не выдумано.
Сколько времени занимает курс?
Ориентировочно около 64 часов — это оценка, а не норматив. Курс можно проходить по частям в своём темпе; лаборатории и подсказки доступны столько, сколько нужно.
Можно ли пропустить темы, которые я уже знаю?
У части модулей есть диагностика: сдав короткий тест, вы засчитываете модуль как пройденный и идёте дальше. Если тест не сдан, лучше пройти модуль — это ровно те основы, на которых держатся сложные темы.
Нужно ли что-то устанавливать?
Сами лаборатории устанавливать не нужно: они запускаются на сервере и открываются в браузере. На компьютере понадобятся браузер с DevTools, Burp Suite Community Edition и терминал Linux с curl; позже — Python 3. Во вводном уроке есть короткий список подготовки.