Атаки на серверную часть веб-приложений

Атаки на серверную часть веб-приложений. Разберитесь с продвинутыми уязвимостями на стороне сервера, включая SSRF, XXE и манипуляции с JWT. Научитесь объединять недостатки в цепочки для чтения конфиденциальных файлов и подделки административных токенов.

Cybersecurity EngineerКибербезопасность

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Серверные функции становятся путями атаки, если загружают пользовательские 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, затем создаётся действительно подписанный административный токен.

Преподаватель

labby
Labby
Labby is the LabEx teacher.

Рекомендовано для вас

no data