Чему вы научитесь
- Определять границы разрешённой проверки безопасности, воспроизводить уязвимое поведение в локальной лаборатории и сохранять исходные запросы и ответы
- Составлять модель угроз приложения: выделять активы, участников, потоки данных и границы доверия
- Формулировать сценарии злоупотребления, требования безопасности и приоритетный план проверок
- Проверять хранение и проверку паролей, отличать подходящие алгоритмы хеширования от небезопасных способов хранения
- Исследовать выпуск и проверку JWT, подпись, сроки действия и другие ограничения токенов доступа
- Проверять обновление и отзыв токенов, повторное использование refresh-токенов и завершение сеансов
- Сравнивать способы хранения учётных данных в браузере, проверять атрибуты cookie и защиту от CSRF
- Проверять восстановление доступа: срок жизни и однократность токена сброса, раскрытие существования учётной записи и отзыв старых сеансов
- Выявлять и исправлять доступ к чужим объектам и административным функциям при действительном токене пользователя
- Проверять ограничения доступа к отдельным полям, защищать изменение свойств объектов и составлять матрицу разрешённых и запрещённых действий
- Воспроизводить SQL-инъекции и исправлять формирование запросов с помощью параметризации
- Находить небезопасный HTML-вывод и устранять XSS с учётом контекста отображения данных
- Исследовать инъекции команд оболочки и заменять небезопасный запуск команд вызовами без интерпретации пользовательского ввода
- Ограничивать загрузку файлов по типу и размеру, предотвращать выход файловых путей за разрешённый каталог
- Выявлять SSRF, проверять целевые адреса и перенаправления при исходящих HTTP-запросах сервера
- Проверять таймауты, размер и структуру ответов внешних API, безопасно обрабатывать неожиданные данные и ошибки интеграций
- Находить небезопасные настройки, открытые служебные маршруты и ошибки конфигурации CORS и защитных HTTP-заголовков
- Предотвращать раскрытие секретов через ответы и журналы, проверять безопасный отказ при исключениях
- Ограничивать размер запросов и выборок, частоту чувствительных операций и повторное выполнение значимых бизнес-действий
- Фиксировать состав зависимостей, разбирать предупреждения об уязвимостях и проверять применимость найденной проблемы к приложению
- Контролируемо обновлять зависимости и проверять целостность учебных артефактов по SHA-256
- Писать регрессионные тесты безопасности на Python, проверяя как запрещённые, так и разрешённые сценарии после исправления
- Использовать SAST и ограниченный DAST для проверки локального приложения, разбирать результаты сканеров и настраивать проверки в CI
- Проводить ограниченный аудит незнакомой версии приложения: подтверждать проблемы, расставлять приоритеты, исправлять причины и оформлять воспроизводимый отчёт
О курсе
Для кого этот курс
Начальные требования
📚 Что нужно знать
- Python: уверенно читать и изменять существующий код; основы языка в курсе не изучаются.
- HTTP API: понимать методы, статусы, заголовки, JSON и работу с bearer-токенами.
- Git и терминал: работать с ветками и коммитами, читать изменения кода и отправлять запросы через curl.
🧰 Что понадобится
- Python 3.12, Git и curl для локального учебного приложения. В последующих модулях потребуется Docker Compose.
- Аккаунт GitHub для работы с учебным репозиторием и собственной копией.
- Linux или macOS; для Windows — WSL 2 с Ubuntu 24.04. POSIX-совместимая оболочка обязательна для практики по инъекциям команд: одного PowerShell недостаточно.
В курсе используются только учебные сервисы и данные. Рабочие токены, чужие системы и реальные персональные данные не нужны. Настройка окружения и отдельные команды для Windows приведены в практических уроках.
Преподаватели курса
Как проходит обучение
🔐 Каждый разобранный дефект доводите до проверенного исправления. Объяснения и вопросы чередуются с практикой в одном локальном Web/API-приложении.
- 🔎 Воспроизводите поведение: проверяете доступ, обработку данных и конфигурацию на конкретных сценариях.
- 🛠️ Исправляете причину: меняете приложение и повторяете как уязвимый, так и обычный рабочий сценарий.
- ✅ Закрепляете результат: добавляете регрессионные тесты и собираете итоги ограниченного аудита.
Что вы получите
- Собственная рабочая копия учебного FastAPI-приложения с SQLite, файловым хранилищем и внутренним HTTP-сервисом, в которую внесены проверенные исправления
- Модель угроз с активами, границами доверия, сценариями злоупотребления и планом проверок безопасности
- Исправления механизмов аутентификации и авторизации с матрицей разрешённых и запрещённых действий пользователей
- Исправленные сценарии обработки недоверенных данных: SQL-запросы, выполнение команд, HTML-вывод, загрузка файлов и исходящие HTTP-запросы
- Проверенные настройки приложения и обработки ошибок, журналирование без раскрытия секретов и ограничения ресурсоёмких запросов и повторных операций
- Результаты анализа зависимостей, обоснование исправлений и проверки целостности учебных артефактов
- Набор регрессионных тестов безопасности на pytest, результаты проверок SAST/DAST и настройки запуска проверок в CI
- Итоговые исправления отдельной версии учебного приложения с повторными проверками исходных уязвимых и обычных разрешённых сценариев
- Технический отчёт по ограниченному аудиту с доказательствами, приоритетами, причинами ошибок, внесёнными изменениями и оставшимися рисками