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

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

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

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

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

Категории

Все категории
Loading categories
svja — Приложение The Super Vulnerable Java Application (SVJA), продемонстрированное в подкаст-шоу Roniel and DaRon, представляет собой приложение на базе Apache Struts, предназначенное для включения ряда наиболее распространённых уязвимостей. В отличие от других «намеренно уязвимых» программ, данное ПО имитирует распространённые уязвимости так, как они обычно встречаются на практике, а не в чрезмерно упрощённом виде или в духе «захвата флага» (capture the flag). Это ПО полурегулярно обновляется и дополняется, а демонстрации некоторых уязвимостей являются частью подкаста. | Kitploit
Инструменты/GitHubGitHub/theronielanddaronpodcastshow/svja
Аутентификация и авторизацияАнализ уязвимостейЭксплуатация веб-приложенийТестирование безопасности APIВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
theronielanddaronpodcastshow/svja

svja

Репозиторий
1347 месяцев назадЕщё не проверено

Описание

Приложение The Super Vulnerable Java Application (SVJA), продемонстрированное в подкаст-шоу Roniel and DaRon, представляет собой приложение на базе Apache Struts, предназначенное для включения ряда наиболее распространённых уязвимостей. В отличие от других «намеренно уязвимых» программ, данное ПО имитирует распространённые уязвимости так, как они обычно встречаются на практике, а не в чрезмерно упрощённом виде или в духе «захвата флага» (capture the flag). Это ПО полурегулярно обновляется и дополняется, а демонстрации некоторых уязвимостей являются частью подкаста.

Поделиться

svja

RDPS Super Vulnerable Java Application — это именно то, чем кажется: суперуязвимое Java-приложение, созданное на благо всех, чтобы можно было увидеть множество распространённых, зачастую «сложных» уязвимостей. Это ПО было создано в рамках подкаста Roniel and DaRon Podcast Show (https://www.youtube.com/channel/UCbj1JFcSJeTuf3qf9GPRemA), чтобы мы могли обсуждать и показывать ряд уязвимостей, с которыми мы часто сталкивались, более реалистично, чем это можно увидеть во многих других онлайн-инструментах. Примеры эксплуатации смотрите в нашем подкасте.

ВАЖНО

Помните, что это приложение намеренно сделано крайне уязвимым ко многим вещам. Будьте осторожны, где вы его запускаете, ограничьте круг тех, кто может получить к нему доступ (сервер Tomcat должен слушать только localhost и только на вашей личной машине). Мы не несём ответственности, если вы не можете должным образом позаботиться о своих вещах, оставив свою копию висеть на ветру, чтобы кто угодно мог украсть ваши данные или серьёзно скомпрометировать вашу машину. Мы рекомендуем запускать это в защищённой виртуальной машине (VM), на которой нет ничего чувствительного и которая не имеет подключения к интернету. Неспособность должным образом защитить систему, на которой это запущено, и сам экземпляр приложения, скорее всего, приведёт к плохому дню. Как и случайные плотские утехи без надлежащей защиты, вы сами ставите себя в положение, о котором когда-нибудь пожалеете. Считайте, что вы предупреждены, но приглашаем поиграть ;-)

Требования

  • Apache Maven 3.6 или выше
  • Java 21 или выше
  • Tomcat 10.0 или выше

Установка

RDPS SVJA состоит из Java-приложения на Struts 2, работающего с React. Оно собирается простым запуском: mvn clean package

В результате в target создаётся WAR-файл -- svja.war. Просто поместите его в папку webapps вашего Tomcat. В стандартной сборке Tomcat перейдите на http://127.0.0.1:8080/svja для доступа к приложению.

Если вы используете Tomcat 10 или выше, добавьте <Loader jakartaConverter="TOMCAT" /> в ваш конфигурационный файл context.xml.

Swagger UI

Для тех, кто хочет с ходу начать работу, в корне (http://127.0.0.1:8080/svja) теперь есть Swagger UI и базовая спецификация OpenAPI (http://127.0.0.1:8080/svja/specification.yaml), которыми можно пользоваться. Обратите внимание, что спецификация, а значит и Swagger UI, лишь касается поверхности (ведь именно для этого и существует небезопасная десериализация, верно?).

Текущие уязвимости

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

  1. /api/authenticate
    • Межсайтовая подделка запроса (CSRF)
    • Отказ в обслуживании (DOS)
    • Небезопасная десериализация (OGNL, Struts, JSON -- без байт-кода)
      • Создание произвольных объектов
      • Вызов произвольных методов
      • Угон сессии
      • Обход сессии
      • Обход аутентификации
    • Лог-инъекция
    • Конфиденциальные данные в URL
  2. /api/authenticate/federated
    • Межсайтовая подделка запроса (CSRF)
    • Отказ в обслуживании (DOS)
    • Небезопасная десериализация (OGNL, Struts, JSON -- без байт-кода)
      • Создание произвольных объектов
      • Вызов произвольных методов
      • Угон сессии
      • Обход сессии
      • Обход аутентификации
    • Лог-инъекция
    • Инъекция регулярных выражений
      • Обход аутентификации
      • Отказ в обслуживании
  3. /api/files
    • Межсайтовая подделка запроса (CSRF)
    • Межсайтовый скриптинг (XSS) через кодирование
    • Отказ в обслуживании (DOS)
    • Небезопасная десериализация (OGNL, Struts, JSON -- без байт-кода)
      • Обход пути (только чтение)
      • Создание произвольных объектов
      • Вызов произвольных методов
      • Угон сессии
      • Обход сессии
      • Обход аутентификации
      • Небезопасная прямая ссылка на объект
    • Небезопасная сериализация
      • Утечка персональных данных (PII)
      • Утечка конфиденциальной информации
    • Лог-инъекция
    • Состояние гонки
      • Время проверки, время использования (TOCTOU)
    • Конфиденциальные данные в URL
  4. /api/projects
    • Инъекция CSV (Comma Separated Values)
      • Произвольная CSV-инъекция
      • Атаки на стороне клиента
    • Межсайтовая подделка запроса (CSRF)
    • Межсайтовый скриптинг (XSS) через кодирование Отказ в обслуживании (DOS)
    • Небезопасная десериализация (OGNL, Struts, JSON -- без байт-кода)
      • Обход пути (только чтение)
      • Создание произвольных объектов
      • Вызов произвольных методов
      • Угон сессии
      • Обход сессии
      • Обход аутентификации
      • Небезопасная прямая ссылка на объект
    • Небезопасная сериализация
      • Утечка персональных данных (PII)

Установленные по умолчанию пользователи

root@kitploit:~
admin:admin (application administrator account)
bill:baker (privileged user account)
bob:barker (basic, read-only user account)

Вход в систему

root@kitploit:~
/api/authenticate?user.username=admin&user.password=admin
/api/authenticate?user.username=bill&user.password=baker
/api/authenticate?user.username=bob&user.password=barker

После аутентификации обращайтесь к любому действию, используя JSON или Struts

Пример запроса аутентификации Struts

root@kitploit:~
GET /svja/api/authenticate?user.username=bill&user.password=baker HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Length: 0
DNT: 1
Connection: close
Cache-Control: max-age=0


Пример JSON-запроса аутентификации

root@kitploit:~
GET /svja/api/authenticate HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 61
DNT: 1
Connection: close
Cache-Control: max-age=0

{
  "user": {
    "username": "bill",
    "password": "baker"
  }
}

Пример запроса «федеративной» аутентификации Struts

root@kitploit:~
GET /svja/api/authenticate/federated?user.username=bill%40rdps.local&usernameTranslationRegex=%2F%40rdps%5B.%5Dlocal%2F%2F HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Length: 0
DNT: 1
Connection: close
Cache-Control: max-age=0


Пример JSON-запроса «федеративной» аутентификации

root@kitploit:~
GET /svja/api/authenticate/federated HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 61
DNT: 1
Connection: close
Cache-Control: max-age=0

{
  "user": {
    "username": "[email protected]"
  },
  "usernameTranslationRegex": "/@rdps[.]local//"
}

Пример запроса Struts

Не забудьте изменить svjatoken

root@kitploit:~
GET /svja/api/projects?projectId=1 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Cookie: svjatoken=RaMu5vhFBgL8goV6Ja1ffLnpmcixNuAL7fUP;
Cache-Control: max-age=0


Пример JSON-запроса

Не забудьте изменить svjatoken

root@kitploit:~
GET /svja/api/projects HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 19
DNT: 1
Connection: close
Cookie: svjatoken=RaMu5vhFBgL8goV6Ja1ffLnpmcixNuAL7fUP;
Cache-Control: max-age=0

{
  projectId:1
}

Помните

Это незавершённая работа, и у нас запланировано множество дополнительных уязвимостей и возможностей (включая суперуязвимый фронтенд и другие суперуязвимые приложения) — заходите к нам каждые пару месяцев и смотрите Roniel and DaRon Podcast Show, чтобы узнавать об обновлениях, примерах эксплуатации и других идеях. Мы также призываем вас попытаться понять, как смягчить или исправить уязвимости... ломать легко... сложно смягчать, исправлять и защищать. Удачи и приятной охоты!

Скачать инструмент
  • Утечка конфиденциальной информации
  • Лог-инъекция
  • Конфиденциальные данные в URL
  • XLSX-инъекция
    • Произвольная XML-инъекция
    • Атаки на стороне клиента
  • /api/reflect
    • Использование рефлексии
    • Небезопасная десериализация (OGNL, Struts, JSON -- без байт-кода)
      • Обход пути (только чтение)
      • Создание произвольных объектов
      • Вызов произвольных методов
      • Угон сессии
      • Обход сессии
      • Обход аутентификации
      • Небезопасная прямая ссылка на объект
    • Небезопасная сериализация
      • Утечка персональных данных (PII)
      • Утечка конфиденциальной информации
    • Лог-инъекция
  • /api/supersecret
    • Слабый режим шифрования
    • Padding oracle
    • Использование рефлексии
    • Небезопасная десериализация (OGNL, Struts, JSON)
      • Обход пути (только чтение)
      • Создание произвольных объектов
      • Вызов произвольных методов
      • Угон сессии
      • Обход сессии
      • Обход аутентификации
      • Небезопасная прямая ссылка на объект
    • Небезопасная сериализация
      • Утечка персональных данных (PII)
      • Утечка конфиденциальной информации
    • Лог-инъекция