Rostelecom Security Labs
Вход Регистрация

CYBERSEC TRAINING

Rostelecom Security Academy — Labs & Training

Здесь собраны практики по уязвимостям и CI/CD. Каждая лабораторная — готовый сценарий с контейнером, подсказками и заданиями на устранение багов.

29 опубликовано
100 в разработке
экспериментов

Доступные лаборатории

Запускай контейнер в своём окружении или разворачивай в облаке. Каждая карточка ведёт на страницу с инструкциями и уязвимым приложением.

CORE готово

HTTP Status Fundamentals

REST-контроллер возвращает 200 OK при ошибках. Учимся подбирать правильные HTTP статусы и строить error handler.

Перейти в лабораторию
CORE готово

cURL HTTP Workflow

Скрипт на curl игнорирует статусы 5xx. Разбираем ключевые флаги и как строить health-checkи в терминале.

Перейти в лабораторию
SECURECODE готово

SecureCode: Signup ReDoS

Регистрация валидирует имя сложным @Pattern без лимитов. Учимся предотвращать regex DoS и включать ограничения.

Перейти в лабораторию
SECURECODE готово

SecureCode: Search ReDoS

Поиск клиентов падает из‑за тяжёлого @Pattern и отсутствия @Validated. Исправляем валидацию и лимиты.

Перейти в лабораторию
SECURECODE готово

SecureCode: Bulk Invite ReDoS

Массовая рассылка проверяет список email тяжёлым регекспом. Учимся ставить лимиты и безопасные валидаторы.

Перейти в лабораторию
SECURECODE готово

SecureCode: Webhook ReDoS

Подпись вебхука валидируется опасным @Pattern. Переписываем проверку на HexFormat и вводим лимиты.

Перейти в лабораторию
SECURECODE готово

SecureCode: Actuator Health Leak

SecurityConfig игнорирует /actuator/**. Учимся закрывать health/info, маскировать детали и включать авторизацию.

Перейти в лабораторию
SECURECODE готово

SecureCode: Actuator Env Leak

/actuator/env раскрывает секреты. Учимся ограничивать exposure, маскировать значения и требовать авторизацию.

Перейти в лабораторию
SECURECODE готово

SecureCode: H2 Console Prod

H2 консоль включена в бою. Учимся выключать dev-инструменты, вводить профили и защиту.

Перейти в лабораторию
SECURECODE готово

SecureCode: Stacktrace in Prod

Конфиг возвращает stacktrace пользователям. Учимся скрывать детали, строить error handler и проверять тестами.

Перейти в лабораторию
IDOR готово

IDOR через curl

Node.js сервис без проверки прав доступа. Учимся воровать чужие досье и фиксить контроль объектов.

Перейти в лабораторию
PATH готово

Path Traversal API

Файловый просмотрщик, который не ограничивает путь. Учимся красть файлы и нормализовать пути в Node.js.

Перейти в лабораторию
SECURECODE готово

SecureCode: Go TempFile Review

Code review-сниппет на Go: ищем path traversal в обработчике загрузки и предлагаем фикс.

Перейти в лабораторию
SECURECODE готово

SecureCode: Java Servlet XSS

Ревью Java Servlet, который печатает пользовательский ввод без экранирования. Учимся находить отражённую XSS в исходниках.

Перейти в лабораторию
SECURECODE готово

SecureCode: Spring MVC XSS

Разбираем контроллер превью в Spring MVC и фреймворк шаблонов. th:utext + пользовательский HTML = XSS.

Перейти в лабораторию
SECURECODE готово

SecureCode: Hardcoded Config Secret

Code review Java сервиса конфигураций: находим API-ключ, который зашили в код, и думаем как вынести его в Secret Manager.

Перейти в лабораторию
SECURECODE готово

SecureCode: Account Profile IDOR

Контроллер аккаунтов отдаёт профиль по ID без проверки владельца. Учимся находить IDOR и строить авторизацию по пользователю.

Перейти в лабораторию
SECURECODE готово

SecureCode: Order Export IDOR

Экспорт заказов строит CSV по чужому ID и отдаёт его без проверки. Разбираем IDOR в B2B API и фиксируем контроль доступа.

Перейти в лабораторию
SECURECODE готово

SecureCode: REST IDOR @PreAuthorize

Эндпоинт /api/v1/users/{id} потерял @PreAuthorize. Учимся возвращать методовые проверки и сравнение subject == resourceOwner.

Перейти в лабораторию
SECURECODE готово

SecureCode: REST IDOR Service Guard

Сервис профиля отдаёт данные только по id. Встраиваем централизованный guard и негативные spring-security-test.

Перейти в лабораторию
SECURECODE готово

SecureCode: SHA-256 Password Hash

Сервис логина хеширует пароли SHA-256 со статичной солью. Обсуждаем переход на BCrypt/Argon2 и pepper из KMS.

Перейти в лабораторию
SECURECODE готово

SecureCode: Secrets in application.yml

AES-ключ и API-токен лежат в конфиге. Учимся выносить секреты в Secret Manager, шифровать AES-GCM и проверять конфиги.

Перейти в лабораторию
SECURECODE готово

SecureCode: Hardcoded JWT Secret

Проверяем TokenService: разработчик хардкожит JWT секрет, нам нужно описать риски и предложить защищённое хранение.

Перейти в лабораторию
SECURECODE готово

SecureCode: Hardcoded Crypto Key

Ревью утилиты шифрования: мастер-ключ зашит в массив байт. Учимся переносить ключи в KMS и ротацию.

Перейти в лабораторию
XSS готово

XSS-01: Reflected XSS

Форма поиска отражает ввод без экранирования. Классическая reflected XSS через GET-параметр с curl.

Перейти в лабораторию
XSS готово

XSS-02: Stored XSS

API комментариев без санитизации. Stored XSS сохраняется в базе и выполняется у всех пользователей.

Перейти в лабораторию
XSS готово

XSS-03: DOM-based XSS

JavaScript читает параметр из URL и вставляет в DOM через innerHTML. Учимся анализировать клиентский код.

Перейти в лабораторию
XSS готово

XSS-04: Filter Bypass

API с базовым XSS-фильтром. Учимся обходить через encoding, nested tags и альтернативные векторы атак.

Перейти в лабораторию

План расширения