Praktik DVWA: Belajar Eksploitasi Web dengan Damn Vulnerable Web App

Panduan lengkap menggunakan DVWA sebagai media pembelajaran eksploitasi web secara aman dan terkontrol.

Pendahuluan

Belajar keamanan web tidak cukup hanya dengan teori, diperlukan latihan langsung agar memahami cara kerja serangan sekaligus cara mencegahnya. Namun, menguji serangan langsung pada website asli jelas berbahaya dan ilegal. Oleh karena itu, digunakanlah aplikasi latihan khusus yang memang sengaja dibuat rentan, salah satunya adalah Damn Vulnerable Web App (DVWA).

DVWA Logo
Logo Damn Vulnerable Web App (DVWA).

Apa Itu DVWA?

Damn Vulnerable Web App (DVWA) adalah aplikasi berbasis PHP/MySQL yang secara sengaja diciptakan dengan banyak celah keamanan. Tujuannya bukan untuk digunakan di lingkungan produksi, melainkan sebagai laboratorium uji coba bagi pelajar, peneliti keamanan, maupun praktisi untuk mengasah kemampuan eksploitasi serta memahami cara mitigasi.

DVWA dirancang agar dapat berjalan di server lokal (localhost) maupun di atas platform virtualisasi seperti XAMPP, Docker, atau VirtualBox. Dengan DVWA, pengguna bisa mempelajari berbagai jenis serangan web tanpa takut melanggar hukum atau merusak sistem nyata.

Cara Instalasi DVWA

Ada beberapa metode instalasi DVWA, berikut langkah paling umum menggunakan XAMPP:

  1. Unduh DVWA dari GitHub resmi: https://github.com/digininja/DVWA.
  2. Ekstrak ke dalam folder htdocs milik XAMPP, contoh: C:\xampp\htdocs\dvwa.
  3. Buat database MySQL bernama dvwa, lalu impor file dvwa.sql dari folder config.
  4. Atur file konfigurasi config.inc.php untuk menyesuaikan username/password MySQL.
  5. Jalankan Apache & MySQL melalui XAMPP Control Panel.
  6. Akses DVWA melalui browser: http://localhost/dvwa.

Alternatif lain, DVWA juga tersedia dalam versi Docker untuk kemudahan setup:

git clone https://github.com/digininja/DVWA.git
cd DVWA
docker-compose up -d
    

Fitur & Level Keamanan DVWA

DVWA menyediakan beberapa tingkat kesulitan yang dapat diubah melalui menu Security:

  • Low: Celah terbuka lebar tanpa proteksi.
  • Medium: Ada sedikit filter sederhana, masih mudah ditembus.
  • High: Proteksi lebih kompleks, meniru keamanan aplikasi nyata.
  • Impossible: Semua celah sudah diperbaiki (best practice).

Dengan adanya level ini, pengguna bisa berlatih dari eksploitasi paling dasar hingga menguji mitigasi tingkat lanjut.

Jenis Serangan yang Bisa Dipelajari di DVWA

Beberapa serangan web umum yang tersedia di DVWA antara lain:

  • SQL Injection – memanipulasi query SQL untuk membaca/merusak data.
  • Command Injection – mengeksekusi perintah sistem dari input web.
  • Cross-Site Scripting (XSS) – menyisipkan script berbahaya ke dalam halaman.
  • Cross-Site Request Forgery (CSRF) – menipu browser agar mengirimkan request tanpa izin.
  • File Upload Vulnerability – mengunggah file berbahaya seperti webshell.
  • Brute Force Login – mencoba password secara berulang sampai berhasil.
  • Insecure CAPTCHA – memahami kelemahan implementasi sistem verifikasi manusia.
Tampilan antarmuka DVWA
Contoh tampilan antarmuka DVWA (sumber: dvwa.co.uk).

Praktik Aman & Etika

Walaupun DVWA dibuat untuk latihan, tetap ada prinsip etika yang harus dipatuhi:

  • Jangan meng-host DVWA di server publik, cukup di localhost atau jaringan internal.
  • Gunakan DVWA hanya untuk tujuan belajar, penelitian, atau pelatihan legal.
  • Setelah selesai praktik, hentikan server agar tidak dieksploitasi orang lain.
  • Jangan pernah menggunakan teknik yang sama untuk menyerang website orang lain tanpa izin.

Kesimpulan

Damn Vulnerable Web App (DVWA) adalah platform latihan ideal untuk mempelajari keamanan aplikasi web. Dengan berbagai modul serangan, level kesulitan, dan dokumentasi komunitas yang luas, DVWA menjadi sarana belajar penting bagi mahasiswa, peneliti keamanan, maupun profesional IT. Dengan berlatih di DVWA, kita bisa memahami bagaimana serangan dilakukan dan yang lebih penting, bagaimana cara mencegahnya di dunia nyata.