Разворачиваем DVWA локально через Docker (в этом проекте — через GitHub Codespaces) и проверяем, что она работает.
- Открыть репозиторий на GitHub → Code → Codespaces → Create codespace on main.
- Дождаться, пока Codespace соберётся (ставится Docker внутри контейнера — 1-2 минуты).
- В терминале Codespaces проверить Docker:
docker --version docker compose version
- Временно раскомментировать проброс порта
8080:80у сервисаdvwaвdocker-compose.yml(для первой проверки — без WAF, чтобы убедиться, что сама DVWA работает). - Запустить:
docker compose up -d dvwa
- Открыть порт 8080 через вкладку PORTS в Codespaces (там будет ссылка вида
https://xxxx-8080.app.github.dev). - Перейти на
/setup.php, нажать Create / Reset Database. - Войти:
admin/password. - В меню DVWA Security выставить уровень Low.
- Открыть раздел SQL Injection, ввести
1в поле User ID — должен вернуться результат из БД.
- DVWA доступна и отвечает
- База данных создана
- Тестовый запрос
1возвращает данные пользователя
- Скриншот главной страницы DVWA после логина →
screenshots/01-lab-setup/dvwa-home.png - Скриншот успешного результата SQL Injection теста (
id=1) →screenshots/01-lab-setup/sqli-test.png
После проверки — вернуть docker-compose.yml в исходное состояние (закомментировать прямой порт),
так как дальше доступ к DVWA будет идти только через WAF (порт 8080 у сервиса waf).