Какой стенд выбрать
Стенды рассчитаны на ограниченную локальную практику только после успешного preflight и при обязательном штатном cleanup. Каждый проект использует закреплённые образы, внутреннюю сеть без egress и отдельный минимальный loopback-прокси.
DVWA
Новое · 3 темыSQL Injection, OS Command Injection, Reflected XSS — три классические уязвимости на одном стенде с пошаговыми заданиями и ожидаемым результатом на каждом шаге.
Juice Shop
Из лекции · SQLiТот же стенд, что использовался на занятии (модуль «Инструменты»): смена контекста в форме входа через ' OR true--. Уже готовые PowerShell-скрипты запуска и остановки.
DVWA — SQL Injection, Command Injection, XSS
Канонический трёхсервисный Compose-стенд использует официальный DVWA, одноразовую MariaDB и loopback-прокси по точным digest. Preflight запрещает плавающие теги, автоматический pull, занятый порт и неподдерживаемый Docker Engine.
Открыть: http://127.0.0.1:8000/ · логин admin / пароль password. Если stop-wrapper не вывел CLEANUP OK, действует STOP: не продолжать и не удалять чужие Docker-объекты вручную.
- Развёртывание: только digest-pinned Compose и штатные preflight/start/stop wrappers
- SQL Injection: 4 шага с точным ожидаемым выводом
- Command Injection: получение RCE от имени
www-data - Reflected XSS: синтетический alert-маркер без доступа к cookies/storage
- Таблица CWE / OWASP Top 10:2025, чек-лист для отчёта
Только localhost
Сам DVWA и БД не публикуют host-порты; 127.0.0.1:8000 открывает только минимальный proxy. Внутренняя сеть не имеет egress. Не меняйте проверенный Compose и не сканируйте ничего за пределами стенда.
Juice Shop — стенд из лекции
Канонический Compose-стенд использует только предзагруженные digest-pinned образы и --pull never. Preflight сначала требует Docker Engine ≥28, проверяет возможности Compose/config, точные digest, свободный порт и отсутствие объектов проекта. Лишь после PREFLIGHT OK минимальный proxy публикует 127.0.0.1:3000; сам Juice Shop остаётся во внутренней сети без egress.
Задание: Account → Login, поле email — ' OR true--, пароль — любая непустая строка. После смены контекста на administrator — остановиться, не выгружать данные и не копировать токен. Разбор: CWE-89, OWASP A05:2025 Injection.
README стенда · Compose · preflight · start · stop
Как оформить результат
Используйте тот же шаблон находки, что и в памятке курса: название, граница, наблюдение, минимальные шаги, доказательство, классификация CWE/OWASP, исправление, retest.
Правовая рамка
Все приёмы из практики применимы только к собственному локальному стенду или с письменного согласия владельца системы. Действия за пределами подтверждённых полномочий могут образовать состав преступления по ст. 272, 273, 274 УК РФ; квалификация зависит от фактических обстоятельств и применимого права.