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

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

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

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

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

Категории

Все категории
Loading categories
vucsa — Преднамеренно уязвимое клиент-серверное приложение для обучения тестированию на проникновение не-HTTP толстых клиентов. Включает задачи по SQL-инъекциям, RCE, XML-атакам, переполнению буфера при чтении и уязвимостям контроля доступа. | Kitploit
Инструменты/GitHubGitHub/warxim/vucsa
Анализ уязвимостейЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubwarxim/vucsa

vucsa

Преднамеренно уязвимое клиент-серверное приложение для обучения тестированию на проникновение не-HTTP толстых клиентов. Включает задачи по SQL-инъекциям, RCE, XML-атакам, переполнению буфера при чтении и уязвимостям контроля доступа.

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

Популярное

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

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

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

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

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

Уязвимое клиент-серверное приложение (VuCSA)

Уязвимое клиент-серверное приложение (VuCSA)

Уязвимое клиент-серверное приложение (VuCSA) создано для изучения/демонстрации того, как проводить тесты на проникновение не-HTTP клиент-серверных приложений. Оно написано на Java (с графическим интерфейсом JavaFX).

В настоящее время уязвимое приложение содержит следующие задания:

  1. Переполнение буфера для чтения (симулированное)
  2. Выполнение команд
  3. SQL-инъекция
  4. Перебор (Enumeration)
  5. XML
  6. Горизонтальный контроль доступа
  7. Вертикальный контроль доступа
  8. RCE-десериализация

Если вы хотите узнать, как решить эти задания, посмотрите на сайт PETEP, где описано, как использовать инструмент с открытым исходным кодом PETEP для их эксплуатации.

Совет 1: Прежде чем начать взлом, не забудьте проверить структуру данных сообщений ниже. При изменении сетевого трафика вам, вероятно, придется учитывать структуру, особенно байты длины полезной нагрузки.

Совет 2: Большинство заданий можно эксплуатировать путем изменения сетевого трафика. Поэтому для тестирования рекомендуется использовать TCP-прокси или перехватчики процессов.

Совет 3: Некоторые задания имеют проверку ввода и ограничения, что типично для толстых клиентов, но это не означает, что сервер использует те же проверки.

Уязвимость переполнения буфера для чтения (симулированная)

В этом задании ваша цель — манипулировать сетевым трафиком между клиентом и сервером таким образом, чтобы вызвать переполнение буфера для чтения.

Уязвимость выполнения команд

Задание на выполнение команд представляет собой очень простую уязвимость выполнения команд. Цель — выполнить вредоносную команду на сервере.

Уязвимость SQL-инъекции

Задание на SQL-инъекцию содержит поле поиска, уязвимое для SQL-инъекции, но, как вы скоро заметите, ввод не позволяет вводить необходимые символы.

Уязвимость перебора (Enumeration)

Задание на перебор основано на симулированной форме входа, не защищенной от перебора. Сможете ли вы найти всех 5 пользователей и угадать их пароли?

XML-уязвимости

В этом задании вы найдете несколько XML-уязвимостей:

  • Атака с использованием внешних XML-сущностей (XXE-инъекция)
  • Атака XInclude
  • XML-бомба (атака)

Уязвимость горизонтального контроля доступа

Задание на горизонтальный контроль доступа представляет собой средство просмотра документов, которое позволяет пользователю видеть свои документы и читать их содержимое. Цель — найти 5 документов других пользователей.

Уязвимость вертикального контроля доступа

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

Уязвимость RCE-десериализации

Уязвимость RCE-десериализации использует десериализацию/сериализацию Java для передачи данных по сети. Приложение содержит два пути, которые можно использовать для достижения удаленного выполнения кода через уязвимую десериализацию Java. Оба пути можно найти, изучив JAR-файл сервера или заглянув в исходный код. Цель — создать эксплойты для обоих путей и выполнить вредоносную команду на сервере.

Совет: Вы можете использовать JAR-файл сервера как библиотеку, чтобы упростить создание эксплойта.

Требования

Для запуска VuCSA требуется Java 11 или новее.

Примечание: Для Mac с архитектурой ARM64 (чипы M1, M2) используйте специальную сборку для Java 17.

Как запустить

Чтобы запустить уязвимый сервер и клиент, вы можете использовать один из релизов на GitHub или выполнить gradle assemble, который создает дистрибутивы (для Windows и Unix). Эти пакеты содержат sh/bat-скрипты для запуска сервера и клиента с помощью JVM:

root@kitploit:~
# Linux / Mac
chmod +x client.sh server.sh
./client.sh
./server.sh

# Windows
client.bat
server.bat

Примечание: Эти скрипты содержат полезные переменные, включая путь к исполняемому файлу Java. Возможно, вам придется изменить его, если Java отсутствует в PATH или вы используете несколько версий Java.

Конфигурация запуска

Конфигурация сервера создается автоматически, если она отсутствует, и после этого загружается из server.json в той же директории, где запущен сервер:

root@kitploit:~
{
  "network": {
    "serverHost": "0.0.0.0",
    "serverPort": 8765
  }
}

Конфигурация клиента может быть указана в работающем приложении.

Структура проекта

Проект разделен на три модуля:

  • vucsa-common — общая функциональность для клиента и сервера (включая утилиты обработки протокола)
  • vucsa-client — уязвимый клиент с GUI на JavaFX
  • vucsa-server — уязвимый сервер для терминального использования

Структура данных

Сообщения, передаваемые между сервером и клиентом, имеют следующий простой формат:

root@kitploit:~
[type][target][length][payload]
  32b    32b     32b     ???

Эти четыре части имеют следующее значение:

  • type — тип сообщения (используется для сериализации/десериализации)
  • target — целевой обработчик, который получит сообщение (идентификатор)
  • length — длина полезной нагрузки
  • payload — данные, сериализованные в байты

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

Учебное пособие (Решения)

Уязвимое клиент-серверное приложение (VuCSA) содержит множество уязвимостей, которые можно эксплуатировать различными способами. Официальное руководство по эксплуатации этих уязвимостей использует прокси с открытым исходным кодом для тестирования на проникновение (см. Методология PETEP). В методологии PETEP объясняется весь процесс эксплуатации заданий, включая полезные нагрузки.

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