Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
exploit-workshop — Пошаговый воркшоп по эксплуатации различных уязвимостей в приложениях Node.js и Java | Kitploit
Инструменты/GitHubGitHub/snyk-labs/exploit-workshop
Анализ уязвимостейЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubsnyk-labs/exploit-workshop

exploit-workshop

Пошаговый воркшоп по эксплуатации различных уязвимостей в приложениях Node.js и Java

Репозиторий
1569894 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

exploit-workshop

В этом пошаговом практикуме вы научитесь эксплуатировать различные реальные уязвимости, существующие в уязвимых версиях пакетов в приложениях на Node.js и Java.

Необходимое программное обеспечение для этого практикума

Вы можете пройти этот практикум двумя разными способами

  • Используя подготовленные Docker-образы

ИЛИ

  • Установить всё на локальную машину

Введение в практикум

Этот практикум проведет вас через установку и эксплуатацию ряда намеренно уязвимых приложений. Приложения будут использовать реальные пакеты с известными уязвимостями, включая:

  • Обход каталогов (Directory traversal)
  • Отказ в обслуживании через регулярные выражения (ReDoS)
  • Межсайтовый скриптинг (XSS)
  • Удаленное выполнение кода (RCE)
  • Произвольная перезапись файлов (Zip Slip)

Эти эксплойты существуют в ряде приложений, большинство из которых вам нужно будет установить локально или в облачном экземпляре. Инструкции ниже помогут вам выполнить локальную установку, но вы также можете опробовать их на удаленных облачных экземплярах.

Для каждого раздела об уязвимостях в этом практикуме вы получите информацию о самой уязвимости и о пакете, в котором она существует. Вам предлагается попытаться взломать приложение методом проб и ошибок, не читая сначала подсказок. Попробуйте подумать, как можно обмануть санитизацию приложения и войти в образ мыслей хакера. Подсказки существуют на случай, если вы застрянете, поэтому читайте их по порядку, когда понадобится помощь. Если вы сможете завершить взлом без подсказок, это отлично! Однако полезно прочитать подсказки и после, чтобы убедиться, что вы взломали так же, как и мы. К тому же в них могут быть небольшие советы, из которых тоже можно извлечь пользу.

Установка Goof

В зависимости от вашего выбора, выберите соответствующую инструкцию по установке:

  • с использованием Docker-образов
  • установка на локальную машину

В вашем браузере перейдите по адресу http://localhost:3001, и вы должны увидеть следующую страницу.

Главная страница Goof

Потратьте несколько минут на изучение сайта, в частности создайте несколько элементов списка дел, используя обычный текст «Купить молоко», а также используя Markdown: «Купить **много** молока». Также перейдите на скромную страницу «О нас», ссылка на которую находится внизу главной страницы. Насладитесь CSS-фу, использованным для создания этой страницы. Примечание: PR-ы, которые сделают эту страницу красивее, не будут приняты ;о)

Страница "О нас" Goof

Сканируйте ваше приложение

Прежде всего, давайте посмотрим на это с «синей» (защитной) стороны. Сделайте форк приложения goof в свой аккаунт на GitHub. Приложение можно найти на GitHub здесь: https://github.com/snyk/goof. Нам нужно просканировать наше приложение, чтобы понять, какие прямые и транзитивные зависимости существуют в приложении, а также уязвимости в каждой библиотеке. Для этого перейдите на https://snyk.io и нажмите «Sign up» или «Log in» (если вы уже зарегистрированы) в правом верхнем углу сайта:

Кнопка входа

Нажмите кнопку «Log in with your GitHub»:

Кнопка входа через Google

Затем импортируйте проект goof, который вы только что склонировали. Выберите goof из списка ваших репозиториев GitHub и нажмите кнопку «Import Projects» в правом верхнем углу окна.

Проекты GitHub

Когда проект будет просканирован, вы увидите его на своей панели управления:

Панель управления проектом Goof

Нажмите на ссылку package.json, чтобы перейти на страницу проекта, которая содержит полный список уязвимостей безопасности:

Страница уязвимостей проекта

Вы можете нажать на вкладки «Issues» и «Dependencies», чтобы увидеть больше информации об уязвимостях и способах их устранения, а также о том, где они привносятся вашим приложением. Вы заметите в нижней части списка уязвимостей уязвимость обхода каталогов в пакете st. Давайте рассмотрим её подробнее.

Уязвимость обхода каталогов в st

Обход каталогов (Directory Traversal)

Атака с обходом каталогов (также известная как path traversal) направлена на доступ к файлам и каталогам, находящимся за пределами предполагаемой папки. Манипулируя файлами с помощью последовательностей «точка-точка-слеш» (../) и их вариаций или используя абсолютные пути к файлам, можно получить доступ к произвольным файлам и каталогам в файловой системе, включая исходный код приложения, конфигурацию и другие критически важные системные файлы.

Уязвимости Directory Traversal можно разделить на два типа:

  • Раскрытие информации (Information Disclosure) позволяет злоумышленнику получить информацию о структуре папок или прочитать содержимое конфиденциальных файлов в системе.
  • Запись произвольных файлов: позволяет злоумышленнику создавать или заменять существующие файлы. Этот тип уязвимости также известен как Zip-Slip.

Пакет в приложении goof, содержащий уязвимость обхода каталогов, которую мы будем эксплуатировать, это пакет st. Ознакомьтесь с документацией st и библиотекой.

Теперь вы знаете, что такое обход каталогов, что делает пакет st, и можете приступить к взлому приложения — вы снова в «красной» команде! Поищите в приложении, где может использоваться пакет st, и попробуйте выполнить обход к каталогу, к которому вам не должно быть разрешено обращаться.

Вот несколько подсказок, которые помогут вам, если вы застрянете — постарайтесь обращаться к ним только после того, как уже попробовали сами и нуждаетесь в помощи.

Нажмите, чтобы увидеть Подсказку 1.

Нажмите, чтобы увидеть Подсказку 2.

Нажмите, чтобы увидеть Подсказку 3.

Нажмите, чтобы увидеть Подсказку 4.

Нажмите, чтобы увидеть Подсказку 5.

Нажмите, чтобы увидеть Подсказку 6.

Нажмите, чтобы увидеть Подсказку 7.

Нажмите, чтобы увидеть Подсказку 8.

Нажмите, чтобы увидеть Подсказку 9.

Скачать инструмент