Selam,
VirtualBox ile VM kurmak güzel ama her hedef için ayrı disk ve RAM ayırmak ağır geliyor. Web zafiyetleri çalışmak için Docker çok daha hafif. Bu konuda DVWA ve OWASP Juice Shop'u 2026 itibarıyla nasıl ayağa kaldıracağınızı, kendi lab notlarımdan derledim.
Konuda Anlatılacaklar
- Neden Docker lab?
- DVWA: resmi compose ile localhost:4280
- OWASP Juice Shop v20.3.0
- Güvenlik: portları sadece 127.0.0.1'e bağlamak
- Lab hijyeni: silme, volume, güncelleme
1) Neden Docker?
Bir konteyner saniyeler içinde kalkar, host'unuzun çekirdeğini paylaşır ama süreçleri izole eder. Web uygulaması zafiyetleri için DVWA, Juice Shop, WebGoat gibi hedefler Docker Hub / GHCR üzerinden hazır geliyor. VM'lere göre disk ve RAM tasarrufu ciddi.
2) DVWA (Damn Vulnerable Web Application)
Resmi depo: github.com/digininja/DVWA. Her master commit'te GHCR'ye imaj basılıyor. compose.yml örneği:
git clone https://github.com/digininja/DVWA.git
cd DVWA
docker compose up -d
# Uygulama: http://127.0.0.1:4280compose.yml içinde port satırı 127.0.0.1:4280:80 olarak tanımlı; yani sadece sizin makinenizden erişilir. İnternete açmayın. İlk girişten sonra Setup sayfasından veritabanını oluşturun, security level'ı Low ile başlayıp kademeli yükseltin.
3) OWASP Juice Shop
2026-10-11'de v20.3.0 yayınlandı. Tek satırlık çalıştırma:
docker pull bkimminich/juice-shop:v20.3.0
docker run --rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop:v20.3.0
# Tarayıcı: http://127.0.0.1:3000Juice Shop, OWASP Top 10 ve modern API/JWT zafiyetlerini CTF tadında sunuyor. Score Board'dan ilerlemeyi takip edebilirsiniz. "latest" etiketi yerine sürüm sabitlemek (v20.3.0) lab notlarınızın tekrarlanabilirliğini artırır.
4) Port Bağlama Disiplini
# YANLIŞ: 0.0.0.0'a bağlar, LAN'daki herkes erişir
docker run -p 3000:3000 ...
# DOĞRU: sadece localhost
docker run -p 127.0.0.1:3000:3000 ...Ev Wi-Fi'nizde bile yaralanabilir uygulamaları açmak istemezsiniz. VPN veya ortak ağdaysanız özellikle dikkat.
5) Lab Hijyeni
docker compose down -v # DVWA: konteyner + volume sil
docker rm -f <id> # Juice Shop tek konteyner
docker image prune # kullanılmayan imajları temizleHaftada bir güncelleme çekmek iyi alışkanlık. DVWA için docker compose pull && docker compose up -d.
Bonus: WebGoat da aktif; Docker Hub'da webgoat/webgoat imajının 2026.5 etiketi Ekim 2026'da güncellendi. Öğrenme yolunuzda DVWA (klasik) -> Juice Shop (modern) -> WebGoat (eğitici) sırası işe yarıyor.
Kaynaklar
- digininja/DVWA (compose + GHCR)
- OWASP Juice Shop v20.3.0
- Juice Shop Docker Hub
- OWASP Juice Shop proje sayfası
Alıntı:Yasal not: Bu uygulamalar bilerek zafiyetlidir. Yalnızca kendi bilgisayarınızda, localhost'a bağlı çalıştırın. İnternete veya izinsiz ağlara açmak hem tehlikeli hem yasadışıdır (TCK 243-245).
Kapak: özgün TurkTeam görseli.