Серверные функции становятся путями атаки, если загружают пользовательские URL, разрешают XML-сущности или доверяют полям JWT без надёжной проверки. На этом курсе SSRF, XXE и манипуляции JWT изучаются через терминал на намеренно уязвимых сервисах.
Вы перейдёте от обнаружения серверного поведения к демонстрации его последствий: доступу к внутреннему сервису, чтению локальных файлов, изменению утверждений токена и получению секрета подписи. Итоговое испытание связывает раскрытие файла через XXE с созданием действительного административного токена HS256.
Чему вы научитесь
- Находить параметр загрузки URL и подтверждать, что исходящий запрос выполняет сервер.
- Обходить буквальный фильтр localhost альтернативной записью IP и обращаться к внутреннему сервису администратора.
- Запрашивать через SSRF имитационный сервис облачных метаданных и изучать учебные данные доступа.
- Подтверждать разбор XML и раскрытие сущностей и создавать внешнюю сущность для чтения
/etc/passwd. - Извлекать JWT, разделять его на три части и декодировать Base64Url-заголовок и утверждения.
- Подделывать неподписанный токен администратора для API, ошибочно принимающего алгоритм
none. - Связывать раскрытие секрета через XXE с подписью HS256 в Python для доступа к защищённому флагу.
Для кого этот курс
Этот курс среднего уровня предназначен для изучающих веб-безопасность, которые умеют составлять простые запросы и хотят исследовать границы доверия серверных компонентов. Он полезен будущим пентестерам, специалистам по API и разработчикам, которым нужны примеры небезопасной загрузки URL, настройки XML-парсера и проверки JWT.
Предварительные требования: Уверенная работа с терминалом Linux и curl, методами и заголовками HTTP, базовым синтаксисом XML и JSON, обработкой текста Shell и Base64, а также умение читать короткий Python-скрипт.
Учебная среда: Терминал Ubuntu 22.04 с локальными уязвимыми приложениями на портах 5000 и 8080, имитационным сервисом метаданных на 169.254.169.254:8000 и библиотекой Python jwt. Первая проверка SSRF просит локальное приложение загрузить example.com; последующие цели подготовлены в лаборатории.
Часто задаваемые вопросы
Являются ли учётные данные облачных метаданных настоящими?
Нет. Эндпоинт метаданных и ответ в стиле IAM имитируются внутри лаборатории на порту 8000. Они показывают маршрут запроса и потенциальные последствия без реального облачного аккаунта.
Использует ли лаборатория XXE Burp Suite или графический прокси?
Нет. Вы создаёте и редактируете XML-файл в терминале и отправляете его через curl. Структура запроса и поведение парсера изучаются без графического инструмента.
Декодирование JWT равнозначно взлому его шифрования?
Нет. Заголовки и нагрузки JWT кодируются Base64Url и обычно читаются; в этих лабораториях они не зашифрованы. Безопасность зависит от проверки подписи и защиты секрета.
Чем отличаются две атаки на JWT?
В руководимой лаборатории сервер ошибочно принимает alg: none, поэтому поддельный токен не подписан. В испытании сервер правильно требует HS256: сначала секрет раскрывается через XXE, затем создаётся действительно подписанный административный токен.


