SQLmap Penetration Testing: Panduan Penggunaan & Perintah CLI

SQLmap adalah perangkat lunak open-source berbasis baris perintah (CLI) yang mengotomatisasi proses deteksi dan eksploitasi kerentanan SQL Injection (SQLi) serta pengambilalihan peladen basis data. Alat ini dikembangkan menggunakan bahasa pemrograman Python dan menjadi standar industri bagi para penguji keamanan siber (penetration tester) untuk memetakan celah keamanan pada aplikasi web secara efisien.

Dalam praktiknya, SQLmap mampu mendeteksi berbagai jenis teknik injeksi seperti Boolean-based blind, Time-based blind, Error-based, UNION query-based, dan Stacked queries. Melalui modul pengujian otomatisnya, alat ini dapat melakukan sidik jari (fingerprinting) sistem manajemen basis data, mengambil data dari tabel, hingga mengakses sistem berkas di bawah peladen target jika hak akses pengguna basis data memungkinkan.

Parameter Utama dan Sintaks Dasar SQLmap

Penggunaan SQLmap memerlukan pemahaman mengenai struktur parameter baris perintah agar eksekusi pemindaian berjalan akurat tanpa menimbulkan gangguan pada infrastruktur target. Berikut adalah tabel parameter esensial yang sering digunakan dalam proses pengujian penetrasi:

Parameter CLI Fungsi Utama Contoh Penggunaan
-u / --url Menentukan target URL tunggal yang akan diuji. sqlmap -u "http://target.com/page.php?id=1"
--dbs Melakukan enumerasi daftar basis data yang tersedia pada sistem target. sqlmap -u "http://target.com/page.php?id=1" --dbs
--tables Melakukan enumerasi tabel dari basis data yang telah dipilih. sqlmap -u "http://target.com/page.php?id=1" -D namadb --tables
--dump Mengunduh isi data dari tabel basis data target ke komputer lokal. sqlmap -u "http://target.com/page.php?id=1" -D namadb -T users --dump
--risk & --level Mengatur tingkat kedalaman (level 1-5) dan risiko (risk 1-3) payload pengujian. sqlmap -u "http://target.com/page.php?id=1" --level=3 --risk=2

Langkah Kerja Pengujian Penetrasi Menggunakan SQLmap

Proses pengujian keamanan aplikasi web menggunakan SQLmap harus dilakukan melalui tahapan yang terstruktur untuk menghindari kesalahan interpretasi hasil atau penolakan layanan (Denial of Service) pada aplikasi target.

1. Identifikasi Titik Injeksi

Sebelum menjalankan SQLmap, pastikan parameter yang rentan telah teridentifikasi melalui penjelajahan manual atau alat proksi seperti Burp Suite. Simpan permintaan HTTP ke dalam berkas teks jika pengujian memerlukan cookie sesi atau header khusus.

2. Menjalankan Pemindaian Awal

Gunakan perintah dasar untuk memeriksa apakah parameter rentan terhadap SQL Injection. SQLmap akan mencoba berbagai teknik injeksi secara otomatis.

sqlmap -u "https://example.com/item.php?id=5" --batch

Penggunaan parameter --batch berfungsi untuk mengabaikan pertanyaan interaktif selama proses pemindaian dan memilih opsi default secara otomatis.

3. Ekstraksi Informasi Basis Data

Setelah kerentanan terkonfirmasi, langkah selanjutnya adalah mengidentifikasi nama pengguna basis data, versi perangkat lunak, dan hak akses yang dimiliki.

sqlmap -u "https://example.com/item.php?id=5" --current-user --current-db

Tips Keamanan dan Etika Pengujian

SQLmap merupakan perangkat yang sangat bertenaga dan hanya boleh digunakan pada sistem yang memiliki izin tertulis secara sah (Authorized Penetration Testing). Penggunaan alat ini pada peladen publik tanpa izin melanggar hukum siber yang berlaku di berbagai yurisdiksi. Selalu gunakan parameter pembatas kecepatan seperti --delay atau --safe-req untuk menjaga stabilitas peladen selama pengujian berlangsung.