-->

Notification

×

Kategori Berita

Cari Berita

Iklan

Iklan

Menyelami Pikiran Hacker: Panduan Membangun Lab Simulasi SQL Injection yang Aman dan Legal

Friday, 25 September 2026 | September 25, 2026 WIB | 0 Views Last Updated 2026-09-25T21:36:41Z
Di era digital yang seru ini, aplikasi web sudah menjadi urat nadi bisnis, pemerintahan, hingga platform hiburan. Namun, di balik kemudahan yang kita nikmati, ada ancaman siber yang terus mengintai. Salah satu serangan paling klasik, namun tetap menjadi mimpi buruk bagi para developer hingga hari ini, adalah SQL Injection (SQLi).
Bagaimana sebenarnya seorang hacker bisa menembus benteng database sebuah website hanya bermodalkan kolom input teks standar? Dan yang lebih penting, bagaimana kita bisa melindungi sistem kita jika kita tidak pernah tahu cara mereka menyerang?
Ada pepatah di dunia keamanan siber: “Untuk menghentikan seorang peretas, Anda harus berpikir seperti seorang peretas.”

Artikel ini akan memandu Anda langkah demi langkah untuk membangun Cybersecurity Simulation Lab mandiri secara aman dan legal di komputer Anda. Kita akan menggunakan Kali Linux sebagai mesin penyerang dan DVWA (Damn Vulnerable Web Application) sebagai target eksperimen. Melalui panduan ini, kita (saya dan pembaca yang tertarik) akan sama-sama belajar dan menyaksikan langsung bagaimana kerentanan SQLi dieksploitasi hingga tingkat akar, sehingga kita bisa membangun kesadaran keamanan (security awareness) yang lebih kuat.

Mengapa Harus Membangun Lab Sendiri? (Pentingnya Etika)
Sebelum kita menyiapkan tools, ada satu aturan emas yang wajib dipatuhi: Jangan pernah mempraktikkan teknik peretasan pada sistem, jaringan, atau website milik orang lain tanpa izin tertulis. Melakukan hal tersebut adalah tindakan ilegal dan dapat berujung pada konsekuensi hukum yang serius.
Oleh karena itu, membangun Virtual Lab di komputer sendiri adalah solusi terbaik. Lab ini bersifat terisolasi, artinya semua aktivitas simulasi hanya berputar di dalam memori komputer Anda sendiri. Jika terjadi kesalahan konfigurasi atau sistem target rusak, komputer utama Anda tetap aman, dan Anda tidak merugikan pihak mana pun.

Bagian 1: Persiapan Senjata (Spesifikasi & Tools yang Dibutuhkan)
Untuk membangun lab simulasi pertahanan dan penyerangan ini, kita membutuhkan tiga komponen utama:
  1. 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).
  2. 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.
  3. 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.
📋 Spesifikasi Minimum Komputer Host:
  • 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).

Bagian 2: Panduan Langkah Demi Langkah Instalasi Lab
Langkah 1: Instalasi VirtualBox dan Ekstraksi File Kali Linux
  • 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 .7z tersebut 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.


Langkah 2: Mengonfigurasi RAM, CPU, dan Jaringan yang Aman
Sebelum menyalakan Kali Linux, kita harus melakukan tweak agar performanya kencang namun tetap aman terisolasi.
  • 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.


Langkah 3: Menyalakan Kali Linux dan Instalasi Docker
  • Klik tombol Start (panah hijau) pada VirtualBox untuk menghidupkan Kali Linux.


  • Saat layar login muncul, masukkan kredensial bawaan: Username = kali dan Password = kali.


  • Setelah masuk ke desktop, buka aplikasi Terminal (ikon kotak hitam di pojok kiri atas).
  • Perbarui daftar paket aplikasi dengan mengetikkan perintah:
    sudo apt update
    (Masukkan password kali jika diminta, lalu tekan Enter).
  • Jalankan perintah instalasi Docker berikut:
  • sudo apt install docker.io -y

    Perintah ini menunjukkan bahwa docker.io sudah terpasang atau terinstall di sistem karena sebelumnya sudah menginstallnya

    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 docker
    sudo systemctl enable docker


Langkah 4: Mengunduh dan Menjalankan DVWA
Di dalam terminal yang sama, ketik perintah berikut untuk menarik (pull) image DVWA dari Docker Hub dan langsung menjalankannya secara lokal:
sudo docker run --rm -it -p 80:80 vulnerables/web-dvwa
Tunggu hingga proses download menunjukkan status Download complete 100%. Terminal akan otomatis menampilkan log aktivitas server Apache dan MySQL yang menandakan website target sudah aktif. Ingat: Jangan pernah menutup jendela terminal ini selama simulasi berlangsung!
Langkah 5: Isolasi Lab (Kembali ke Mode Aman)
Karena proses unduhan sudah selesai, demi keamanan, kita harus memutus akses internet luar pada VM agar lab benar-benar privat.
  1. Kembali ke jendela VirtualBox Manager di komputer host Anda.
  2. Klik kanan Kali Linux -> Settings -> Network -> Adapter 1.
  3. Ubah bagian Attached to dari NAT menjadi Host-only Adapter. Klik OK. Kini lab Anda telah terisolasi dengan aman dari jaringan global.

Bagian 3: Memulai Simulasi Serangan SQL Injection (Tingkat Low)

Sekarang, mari kita beralih peran menjadi seorang security auditor yang melakukan pengujian penetrasi.
1. Mengakses Target & Setup Database
  • Buka terminal baru di Kali Linux (tekan Ctrl + Alt + T), lalu ketik firefox & untuk membuka browser.


  • Pada kolom URL Firefox, ketik http://localhost atau http://127.1.1.1/ dan tekan Enter.


Login menggunakan akun bawaan DVWA: Username: admin dan Password: password.

Di halaman utama, gulir ke paling bawah, klik tombol Create / Reset Database. Anda akan dilempar kembali ke halaman login. Silakan login ulang.

  • 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.

2. Tahap Pengintaian (Reconnaissance)
Peretas selalu memulai dengan mencari tahu apakah sebuah input teks rentan.
  • 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.

3. Tahap Eksploitasi Logika (Bypass Authentication)
  • 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 pernyataan 1=1 selalu benar (true), database terpaksa membuka seluruh gerbang data dan menampilkannya ke layar komputer penyerang.
4. Tahap Puncak: Mencuri Password Hash dengan UNION SELECT
Peretas biasanya tidak akan berhenti di nama saja; mereka menginginkan kendali akun penuh.
  • 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 adalah 5f4dcc3b5aa765d61d8327deb882cf99. 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!


Bagian 4: Membangun Awareness — Bagaimana Cara Menghentikan Celah Ini?
Nah, untuk yang satu ini merupakan domainnya developer website penulis tidak bisa mensimulasikannya karena keterbatasan pengetahuan penulis di bidang web coding, ini merupakan catatan bagi pengembang web apa saja yang harus diamankan untuk mengantisipasi celah-celah keamanan atau bug yang harus dipacthing dan fitur-fitur keamanan lainnya yang musti diperhatikan. Berdasarkan rekomendasi dan catatan dari AI karena melihat betapa mudahnya database diobrak-abrik hanya dengan beberapa karakter tentu membuat kita cemas. Mengapa celah SQL Injection di level Low ini bisa terjadi? Jawabannya terletak pada kesalahan penulisan kode (coding practices) oleh developer.
Pada level Low, kode PHP di balik website tersebut ditulis seperti ini:
php
$query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";

Variabel $id diambil langsung dari ketikan user dan digabungkan secara mentah-mentah ke dalam perintah SQL.
Solusi Mutlak: Prepared Statements (Parameterized Queries)
Untuk menutup celah ini secara permanen, developer tidak boleh membiarkan input user menyatu dengan perintah logika database. Solusi terbaiknya adalah bermigrasi menggunakan Prepared Statements.
Contoh penulisan kode PHP yang aman menggunakan PDO (PHP Data Objects):
php
// 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();

Dengan metode Prepared Statements, jika peretas mencoba memasukkan kode %' 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.

Kesimpulan: Pentingnya Meningkatkan Awareness Keamanan Siber
Melalui lab simulasi ini, kita belajar bahwa keamanan siber bukanlah sebuah opsi atau fitur tambahan yang dipasang di akhir proyek, melainkan sebuah pondasi mendasar yang harus dibangun sejak baris pertama kode program ditulis. Serangan sekelas SQL Injection bisa dihindari dengan mudah jika para developer memiliki awareness (kesadaran) yang tinggi mengenai cara menulis kode yang aman (secure coding).
Bagi Anda yang tertarik menyelami dunia cybersecurity, membangun lab mandiri seperti ini adalah langkah awal yang sangat bijak. Teruslah bereksplorasi secara etis, pelajari polanya, dan mari bersama-sama membangun ruang digital yang lebih aman!

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.


×
Berita Terbaru Update