Главная / Блог / Vulnerable Web App – Учебное приложение для изучения уязвимостей (v3.0)

Vulnerable Web App – Учебное приложение для изучения уязвимостей (v3.0)

28 февраля, 2025

38

Vulnerable Web App - Учебное приложение (v3.0)

Веб-приложение для изучения типичных уязвимостей веб-безопасности. Только для образовательных целей!

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

🚨 Предупреждение

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

📋 Содержание

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

  1. Уязвимости аутентификации (SQL-инъекции, слабые пароли)
  2. Файловые уязвимости (Path Traversal, небезопасная загрузка)
  3. API уязвимости (недостаточная аутентификация, Mass Assignment)
  4. Cross-Site Scripting (XSS)
  • Reflected XSS
  • Stored XSS
  • DOM-based XSS
  1. Cross-Site Request Forgery (CSRF)
  2. Server-Side Request Forgery (SSRF)
  3. Нарушение контроля доступа (IDOR) ⭐ новое
  4. JWT (JSON Web Token) уязвимости ⭐ новое
  5. XXE (XML External Entity) инъекции ⭐ новое
  6. NoSQL инъекции ⭐ новое

🔄 Что нового в версии 3.0

В третье обновление добавлены 4 новых типа уязвимостей:

  • IDOR (Insecure Direct Object References): изучите, как злоумышленники могут получать доступ к чужим данным путём прямого указания идентификаторов объектов
  • JWT уязвимости: исследуйте проблемы безопасности с JSON Web Token, включая подделку токенов и использование “none” алгоритма
  • XXE инъекции: узнайте, как злоумышленники могут использовать XML-парсеры для чтения системных файлов и выполнения других атак
  • NoSQL инъекции: изучите уязвимости, специфичные для нереляционных баз данных, в частности MongoDB

Основные обновления:

  • Добавлена новая лаборатория по NoSQL-инъекциям
  • Четыре уровня сложности заданий для изучения уязвимостей MongoDB
  • Практические задания по обходу аутентификации, манипуляции операторами и инъекциям в агрегационный конвейер
  • Подробные решения с примерами кода в едином стиле
  • Улучшенный интерфейс всех лабораторий
  • Переработан дизайн раздела решений в хакерском стиле
  • Улучшена навигация между заданиями
  • Добавлены визуальные индикаторы прогресса
  • Оптимизация и исправления
  • Исправлены ошибки в работе интерактивных элементов
  • Оптимизирована загрузка ресурсов

📚 Доступные лаборатории
В текущей версии приложения доступны следующие лаборатории:

  1. XSS (Cross-Site Scripting) – изучение различных типов XSS-уязвимостей, включая Reflected, Stored и DOM-based XSS
  2. SQL Инъекции – практика эксплуатации уязвимостей SQL-инъекций, обход аутентификации и извлечение данных
  3. IDOR (Insecure Direct Object References) – изучение уязвимостей контроля доступа
  4. JWT (JSON Web Tokens) – исследование уязвимостей в механизмах аутентификации на основе токенов
  5. XXE (XML External Entity) – практика эксплуатации XXE-уязвимостей
  6. NoSQL Инъекции – НОВОЕ! Изучение уязвимостей в MongoDB и других NoSQL базах данных

🔧 Установка и запуск

Требования

Шаги установки

  1. Скачайте и распакуйте архив с приложением
  2. Запустите приложение:
  • Windows: дважды кликните на setup.bat
  • Linux/MacOS:
    bash chmod +x setup.sh ./setup.sh
  1. Откройте в браузере: http://localhost:3001

Решение проблем

Если возникли проблемы при запуске:

  1. Ошибка “Node.js не установлен”
  • Установите Node.js с официального сайта
  • Перезапустите компьютер
  • Запустите setup.bat снова
  1. Ошибка “Порт 3001 занят”
  • Закройте другие приложения, использующие порт 3001
  • Или измените порт в файле server.js
  1. Ошибка при установке зависимостей
  • Проверьте подключение к интернету
  • Попробуйте запустить от имени администратора
  • Отключите антивирус временно

📚 Как использовать

  1. Изучите каждый тип уязвимости через соответствующий раздел в меню
  2. Следуйте инструкциям на страницах уязвимостей
  3. Экспериментируйте с предложенными примерами
  4. Изучайте исходный код для понимания механизмов уязвимостей

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

vulnerable-web-app/
├── css/
│ └── style.css
├── js/
│ └── main.js
├── vulnerabilities/
│ ├── auth.html
│ ├── files.html
│ ├── api.html
│ ├── xss.html
│ ├── csrf.html
│ ├── ssrf.html
│ ├── broken-access.html (новое)
│ ├── jwt.html (новое)
│ ├── xxe.html (новое)
│ └── nosql.html (новое)
├── labs/ # Интерактивные лаборатории
│ ├── index.html # Список лабораторий
│ ├── xss-lab.html # XSS лаборатория
│ ├── sql-lab.html # SQL-инъекции лаборатория
│ ├── idor-lab.html # IDOR лаборатория
│ ├── jwt-lab.html # JWT лаборатория
│ ├── xxe-lab.html # XXE лаборатория
│ └── nosql-lab.html # NoSQL лаборатория (новое!)
├── index.html
├── server.js
├── setup.bat
├── setup.sh
└── README.md

🔒 Рекомендации по безопасности

  1. Используйте приложение только локально
  2. Не размещайте на публичных серверах
  3. Используйте для обучения, не для реальных проектов
  4. Изучайте также способы защиты от этих уязвимостей

📝 Примечания

  • Все уязвимости созданы намеренно в учебных целях
  • Код содержит комментарии, объясняющие механизмы уязвимостей
  • Рекомендуется изучать с преподавателем или ментором

🎓 Автор
Михаил Тарасов (Timcore)

    Comments are closed