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

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

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

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

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

Категории

Все категории
Loading categories
JavaSecLab — Комплексная лаборатория по уязвимостям Java с уязвимым и исправленным кодом, сценариями атак, заметками по аудиту источников/стоков и рекомендациями по безопасному кодированию для обучения безопасности и оценки инструментов. | Kitploit
Инструменты/GitHubGitHub/whgojp/javaseclab
Статический анализ кода (SAST)Анализ уязвимостейАнализ КодаВеб-безопасностьCTFТестирование на ПроникновениеDevSecOpsОбучение и ОбразованиеЛаборатории и Практика
GitHubwhgojp/javaseclab

JavaSecLab

Комплексная лаборатория по уязвимостям Java с уязвимым и исправленным кодом, сценариями атак, заметками по аудиту источников/стоков и рекомендациями по безопасному кодированию для обучения безопасности и оценки инструментов.

88377864 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

JavaSecLab — комплексная лаборатория уязвимостей Java

License Java Version Developed by whgojp GitHub Repo stars GitHub forks

中文文档


Обзор

JavaSecLab — это комплексная лаборатория уязвимостей Java для изучения безопасности приложений, практики аудита кода, обучения безопасной разработке и оценки инструментов безопасности. Построенная на Spring Boot, она предоставляет уязвимый код, исправленные реализации, реалистичные сценарии атак, заметки об источниках и стоках для аудита, рекомендации по устранению, объяснения безопасного кодирования и примеры анализа трафика.

Цель практическая: помочь пользователям понять не только то, как эксплуатируется уязвимость, но и почему она существует в коде и как её следует исправлять.

home

show

Для кого это?

  • Команды по оказанию услуг безопасности: объяснение причин уязвимостей, путей эксплуатации, исправлений, процессов аудита и шаблонов трафика.
  • Корпоративные команды безопасности: использование для SDL, DevSecOps, обучения безопасной разработке и программ повышения осведомлённости о безопасности.
  • Исследователи безопасности: тестирование SAST, DAST, IAST, RASP, SCA, xAST, анализа достижимости и других инструментов безопасности.
  • Java-разработчики: изучение распространённых проблем безопасности приложений на реальном коде, а не на абстрактных чек-листах.

Модули уязвимостей

JavaSecLab охватывает широкий спектр сценариев безопасности Java-веб-приложений, включая:

  • XSS, CSRF, CORS, JSONP, перенаправление URL, подмена XFF, отказ в обслуживании и XPath-инъекции
  • SQL-инъекции, произвольное чтение/загрузка/скачивание/удаление файлов, SSRF, XXE и RCE
  • Логические ошибки бизнес-логики: IDOR, безопасность капчи, безопасность платежей и безопасность при конкурентном доступе
  • Раскрытие конфиденциальной информации, противодействие входу, подпись запросов и безопасность учётных данных JWT
  • SpEL-инъекции, SSTI и десериализация Java
  • Fastjson, Jackson, XStream, Log4j2, Shiro, SnakeYAML, XMLDecoder и другие случаи, связанные с компонентами и экосистемой
  • Открытые компоненты экосистемы Spring Boot: Swagger, Actuator, Druid, десериализация MySQL JDBC и другое

Онлайн-демо

Демо-сайт: http://whgojp.top/

Учётная запись по умолчанию: admin/admin

JavaSecLab намеренно уязвим и содержит опасные эндпоинты, уязвимые зависимости и небезопасные конфигурации. Запускайте собственное развёртывание только в изолированной среде. Не выставляйте его напрямую в публичный интернет.

Зачем существует этот проект

Автор работал на корпоративных должностях в сфере безопасности и прошёл через полный жизненный цикл уязвимостей. После пентестов или оценок безопасности уязвимости часто назначаются командам разработки через такие системы, как TAPD или Jira. На практике постоянно возникают два вопроса:

  1. Почему такое поведение является уязвимостью?
  2. Как следует исправлять эту уязвимость?

JavaSecLab был создан, чтобы связать поведение уязвимости, уязвимый код, подходы к устранению и логику аудита. По сравнению с текстовым отчётом или PoC, проект делает акцент на понимании уязвимостей с точки зрения кода.

При аудите кода распространённый подход — сначала найти сток (sink), например выполнение команд, выполнение SQL, доступ к файлам, рендеринг шаблонов, десериализацию или вывод ответа. Затем аудитор прослеживает путь назад, чтобы определить соответствующий источник (source), например параметры запроса, заголовки, cookie, загруженные файлы, сериализованные данные или содержимое базы данных. Многие сценарии JavaSecLab построены вокруг этого пути от источника к стоку, что делает их полезными как для обучения, так и для проверки инструментов.

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

Анализ трафика

JavaSecLab включает примеры анализа трафика уязвимостей, помогающие учащимся связать поведение запросов/ответов с выполнением кода. Приветствуются вклады с более понятными пакетами, лучшими заметками по воспроизведению или дополнительными примерами анализа.

flow1

Например, в сценарии SQL-инъекции, основанной на времени, шаблон трафика можно наблюдать по задержке ответа: сервер отвечает примерно через пять секунд.

flow2

Технологический стек

  • Spring Boot
  • Spring Security
  • MyBatis / MyBatis-Plus
  • JPA / Hibernate
  • Thymeleaf
  • Layui
  • MySQL

Развёртывание

Клонируйте репозиторий:

git clone https://github.com/whgojp/JavaSecLab.git
cd JavaSecLab

git clone

Локальное развёртывание с IDEA

Требования:

  • JDK 8
  • MySQL 8.0+
  • Maven
  1. Создайте базу данных и импортируйте sql/JavaSecLab.sql.

  2. Установите активный профиль dev в src/main/resources/application.yml:

    spring:
      profiles:
        active: dev
    
  3. Обновите подключение к базе данных в src/main/resources/application-dev.yml:

    username: root
    password: QWE123qwe
    url: jdbc:mysql://localhost:13306/JavaSecLab?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true
    
  4. Запустите приложение из IDEA или с помощью Maven.

Учётная запись по умолчанию: admin/admin

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