- Hypervisor (VirtualBox): Aplikasi untuk membuat dan menjalankan mesin virtual (Virtual Machines/VM). Ini memungkinkan kita menjalankan beberapa sistem operasi secara bersamaan di atas sistem operasi utama kita (Windows/macOS).
- Mesin Penyerang (Kali Linux Bawaan/Pre-built): Sistem operasi yang dirancang khusus untuk uji penetrasi (penetration testing). Kita akan menggunakan versi Pre-built untuk VirtualBox agar proses instalasinya instan.
- Aplikasi Target (DVWA via Docker): Aplikasi web berbasis PHP dan MySQL yang sengaja dirancang memiliki banyak celah keamanan sebagai sarana belajar. Menjalankannya via Docker adalah metode paling bersih dan efisien.
- Prosesor: Intel Core i3 / AMD Ryzen 3 (Rekomendasi i5/Ryzen 5).
- RAM: Minimum 8 GB (Rekomendasi 16 GB agar multitasking lancar).
- Penyimpanan Kosong: Minimal 20 GB (Sangat disarankan menggunakan SSD).
- Unduh dan instal Oracle VM VirtualBox versi terbaru beserta Extension Pack-nya melalui situs resmi virtualbox.org.
- Unduh file Kali Linux Pre-built Virtual Machines untuk VirtualBox dari situs resmi kali.org. File ini biasanya berformat
.7z(contoh:kali-linux-2026.2-virtualbox-amd64.7z).
- Ekstrak file
.7ztersebut menggunakan aplikasi seperti 7-Zip atau WinRAR. Setelah diekstrak, Anda akan mendapatkan sebuah folder baru yang berisi file utama berakhiran.vbox.
- Buka VirtualBox, klik menu Machine di bagian atas, lalu pilih Add. Cari folder hasil ekstrak tadi, pilih file berformat
.vbox, dan klik Open. Kali Linux akan langsung muncul di daftar sebelah kiri VirtualBox Anda.
- Klik kanan pada nama Kali Linux di VirtualBox, lalu masuk ke menu Settings.
- Atur RAM: Masuk ke tab System -> Motherboard. Jika RAM komputer Anda 8 GB, geser slider ke angka 2048 MB (2 GB). Jika RAM Anda 16 GB, Anda bisa mengalokasikannya hingga 4096 MB (4 GB). Pastikan indikator tetap di zona hijau.
- Atur CPU: Pindah ke tab Processor, naikkan jumlah CPU menjadi 2 CPU agar jalannya Kali Linux lebih responsif.
- Atur Internet Awal (Mode NAT): Masuk ke menu Network -> Adapter 1. Pada pilihan Attached to, pilih NAT. Kita membutuhkan akses internet ini sementara waktu untuk mengunduh Docker dan DVWA di dalam Kali Linux. Klik OK.
- Klik tombol Start (panah hijau) pada VirtualBox untuk menghidupkan Kali Linux.
- Saat layar login muncul, masukkan kredensial bawaan: Username =
kalidan Password =kali.
- Setelah masuk ke desktop, buka aplikasi Terminal (ikon kotak hitam di pojok kiri atas).
- Perbarui daftar paket aplikasi dengan mengetikkan perintah:(Masukkan password
kalijika diminta, lalu tekan Enter). - Jalankan perintah instalasi Docker berikut:
- Jika belum di install maka akan muncul jendela konfirmasi abu-abu mengenai penghapusan data otomatis (Confirm file replace/purge), biarkan posisi tombol merah pada pilihan
<No>lalu tekan Enter.
- Aktifkan layanan Docker dengan perintah:sudo systemctl start dockersudo systemctl enable docker
- Kembali ke jendela VirtualBox Manager di komputer host Anda.
- Klik kanan Kali Linux -> Settings -> Network -> Adapter 1.
- Ubah bagian Attached to dari NAT menjadi Host-only Adapter. Klik OK. Kini lab Anda telah terisolasi dengan aman dari jaringan global.
- Buka terminal baru di Kali Linux (tekan
Ctrl + Alt + T), lalu ketikfirefox &untuk membuka browser.
- Pada kolom URL Firefox, ketik
http://localhostatau http://127.1.1.1/ dan tekan Enter.
- Pada menu bilah kiri, klik DVWA Security. Ubah Security Level dari Impossible, ada 3 pilihan: low, medium dan high, kita pilih saja menjadi tingkat Low karena kita masih tahap belajar tingkat dasar, lalu klik Submit.
- Klik menu SQL Injection di bilah kiri.
- Masukkan satu karakter kutip tunggal (
') pada kolom User ID, lalu klik Submit.
- Analisis Hasil: Tiba-tiba halaman memuntahkan pesan error mentah: “You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version...”
- Wawasan Keamanan: Bagi seorang peretas, pesan error ini adalah "harta karun". Teks ini memberi tahu mereka dua hal: website ini menggunakan database MariaDB/MySQL, dan input pengguna langsung dilempar ke query database tanpa adanya filter keamanan sama sekali.
- Hapus karakter kutip tadi, lalu masukkan kode manipulasi logika (payload) berikut:sql
%' OR '1'='1
- Klik Submit.
- Analisis Hasil: Layar browser Anda seketika dipenuhi oleh seluruh daftar nama pengguna yang ada di database web tersebut (
admin,gordonb,hackme, dll). - Mengapa ini bisa terjadi? Query asli aplikasi di latar belakang seharusnya berbentuk:
SELECT first_name, surname FROM users WHERE user_id = '$id'. Karena kita memasukkan%' OR '1'='1, query tersebut berubah menjadi logika matematika: Tampilkan user yang ID-nya mirip persen ATAU jika 1 sama dengan 1. Karena pernyataan1=1selalu benar (true), database terpaksa membuka seluruh gerbang data dan menampilkannya ke layar komputer penyerang.
- Masukkan payload tingkat lanjut ini pada kolom User ID:sql
%' UNION SELECT user, password FROM users #
- Klik Submit.
- Analisis Hasil: Di bawah baris nama, sekarang muncul deretan karakter acak sepanjang 32 digit. Untuk akun
admin, kodenya adalah5f4dcc3b5aa765d61d8327deb882cf99. Ini adalah Password Hash MD5. - Buka tab baru di browser Anda, akses situs dekripsi publik seperti
https://crackstation.net. - Tempelkan (paste) kode hash tersebut, lewati verifikasi Captcha, lalu klik Crack Hashes. Dalam hitungan milidetik, situs tersebut berhasil membongkar teks asli di balik hash tersebut, hasilnya password terbaca yaitu kata:
password. Selamat, simulasi peretasan Anda sukses total dan akun admin telah diambil alih!
$query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
$id diambil langsung dari ketikan user dan digabungkan secara mentah-mentah ke dalam perintah SQL.// 1. Perintah SQL disiapkan terlebih dahulu menggunakan penanda tempat (?)$stmt = $db->prepare('SELECT first_name, last_name FROM users WHERE user_id = ?');// 2. Input dari user dimasukkan secara terpisah sebagai data murni, bukan perintah $stmt->execute([$id]); // 3. Mengambil data hasil eksekusi aman$user = $stmt->fetch();
%' OR '1'='1, database tidak akan menganggapnya sebagai perintah logika. Database hanya akan mencari pengguna yang nama ID-nya secara harfiah adalah teks tulisan %' OR '1'='1. Karena tidak ada user dengan nama aneh tersebut, serangan peretas akan gagal total dan database Anda tetap aman sentosa.Disclaimer
Artikel ini dibuat semata-mata untuk tujuan edukasi dan penelitian keamanan siber serta didapat dari sumber di internet dan penerapannya dibantu Artificial intelligence (AI). Segala informasi mengenai penggunaan lab simulasi ini, hanya ditujukan untuk meningkatkan kewaspadaan digital di ruang siber.
Penulis blog tidak menganjurkan penggunaan tool ini untuk aktivitas ilegal, termasuk pada :
- Doxxing, pelecehan, atau penguntitan online
- Peretasan sistem tanpa izin
- Penyalahgunaan data pribadi orang lain
Segala bentuk tindakan yang melanggar hukum merupakan tanggung jawab penuh pengguna. Penulis blog tidak bertanggung jawab atas konsekuensi hukum maupun etika yang timbul dari penyalahgunaan informasi yang disajikan.
Dengan membaca artikel ini, Anda dianggap memahami bahwa lab simulasi ini digunakan secara benar, dan tujuan utama pembahasan adalah meningkatkan kesadaran keamanan digital.






























