Отчет по практикеИнформационная безопасностьГод: 2025НИЯУ МИФИ: Национальный исследовательский ядерный университет «МИФИ»
👁 17💼 0

Готовый отчет: Тестирование безопасности Juice Shop

Загружена: 19.02.2026 09:03

Практический отчёт по безопасности веб‑приложения Juice Shop. Описаны шаги запуска, выявленные уязвимости (SQL‑инъекция, Stored XSS, манипуляция цен, получение админ‑прав, обход проверки бэкапов) и применяемые payloadы. Полезен для отработки навыков тестирования и внедрения контрмер.

Содержание

Описание хода действий по запуску Juice Shop

Описание хода действий по выявленной уязвимости SQL Injection в форме авторизации

Описание хода действий по выявленной уязвимости Stored XSS

Описание хода действий по выявленной уязвимости Price Manipulation

Описание хода действий по выявленной уязвимости Administration Access

Описание хода действий по выявленной уязвимости Backup & Crack

Подробное описание

📘 О чем эта работа

Отчёт посвящён практическому тестированию безопасности локальной установки веб‑магазина Juice Shop. Объект — приложение Juice Shop; предмет — обнаружение и эксплуатация уязвимостей в интерфейсе, API и файловом доступе; в работе подробно описаны сценарии атак и результаты их выполнения.

📚 Что внутри

В работе последовательно показаны реальные шаги от развёртывания до эксплуатации уязвимостей:

  • Инструкции по запуску приложения: клонирование репозитория, установка зависимостей и запуск сервера Node.js на порту 3000.
  • Эксплуатация SQL‑инъекции в форме входа: использован payload ' OR 1=1; --, тесты через POST /rest/user/login и пример Python‑скрипта для массового перебора инъекций (requests).
  • Stored XSS через поле email: создание пользователя через /api/Users с XSS‑вектором (iframe + fetch) и демонстрация перехвата cookies и JWT при просмотре админ‑страницы.
  • Манипуляция ценой: отправка POST на /api/BasketItems с 'quantity': -1000, сценарий оформления заказа и воздействие на итоговую сумму.
  • Получение административного доступа: создание пользователя с полем role='admin' через API и проверка доступа к /#/administration.
  • Обход проверки расширений и получение бэкапа: скачивание файла coupons_2013.md.bak с использованием нулевого байта (%2500), декодирование JWT, извлечение MD5‑хэша и восстановление пароля администратора.

📊 Для кого подходит

Материал пригодится студентам и практикующим специалистам по информационной безопасности, тестировщикам веб‑приложений и разработчикам бекенда для отработки навыков обнаружения уязвимостей и внедрения защитных мер.

✨ Особенности

В отчёте приведены конкретные payloadы и конечные эндпойнты (/rest/user/login, /api/Users, /api/BasketItems, /ftp/...), примеры Python‑скриптов для автоматизации атак, пример простого HTTP‑сервера для приёма украденных данных и перечень практических рекомендаций: параметризация запросов, ORM, CSP, HTTP‑Only cookies, серверная валидация числовых параметров, игнорирование клиентского поля 'role', защита от нулевых байтов при обработке имён файлов и использование современных хэш‑функций (bcrypt/Argon2) вместо MD5.

❓ Частые вопросы

Подойдёт ли для моего вуза?
Структура отчёта с отчётными блоками и практическими примерами соответствует типовым требованиям лабораторных/практических работ по безопасности.

Можно адаптировать?
Да — скрипты и payloadы легко модифицируются под другие тестовые окружения и требования преподавателя; рекомендации по защите можно вставить в раздел «рекомендации» отчёта.

Рекомендации по защите (кратко)

  • Использовать параметризованные запросы и ORM, не собирать SQL из строк.
  • Экранировать и валидировать все пользовательские поля при выводе (особенно email и имена), внедрить CSP и HTTP‑Only/ Secure для куки.
  • Серверная валидация числовых параметров (quantity > 0), ограничения на максимальные значения и мониторинг аномалий транзакций.
  • Игнорировать или проверять на сервере клиентские поля управления ролями; хранить в токенах только необходимую минимальную информацию.
  • Не хранить хэши паролей в JWT; использовать соль и современные алгоритмы хеширования вместо MD5; защищать доступ к резервным копиям и корректно обрабатывать нулевые байты в именах файлов.

Итог

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