SQL Injection
SQL Injection adalah salah satu teknik
yang
menyalahgunakan
celah keamanan yang ada di
SQL
pada lapisan
basis data suatu
aplikasi.
Celah ini terjadi karena input dari user tidak
difilter
secara benar
dan dalam pembuatannya menggunakan
form yang salah.
Jadi sampai saat ini SQL Injection
masih menjadi favorit hacker untuk
melakukan
serangan pada website. Apalagi sekarang ini hacking
melalui jaringan internet sudah tidak
semudah zaman dulu. SQL Injection merupakan salah satu jenis serangan dari banyak
serangan lainnya yang
dilakukan oleh orang tidak bertanggung
jawab
pada
aplikasi berbasis web. SQL injection
merupakan suatu perilaku
memafaatkan
dan
menyalahgunakan
sebuah celah keamanan atau
biasa kita kenal dengan hacking
yang dilakukan
oleh
pihak yang tidak bertanggung
jawab yang
dilakukan pada sebuah aplikasi web
yang didalamnya terdapat database dengan cara
mengganti atau merubah script SQL yang ada pada memori aplikasi berbasis web
tersebut
(Yudantoro, 2013). Celah keamanan
ini
dapat terjadi ketika masukan
user
yang tidak disaring
dengan
cara yang
benar?benra tepat dari carakter
pelulus bentuk string
yang ditambahi dalam suatubperintah SQL atau bisa jadi karena masukan user
tidak
bertipe sangat kuat dan oleh
karena itu pada saat dijalankan
tidak sesuai keinginan.
Hal ini sebenarnya merupakan
salah
satu
sampel dari banyaknya jenis?jenis celah keamanan yang
lebih umum yang dapat terjadi
pada
setiap kali suatu
bahasa pemrograman
atau
script ditambahkan di dalam bahasa yang lainnya. SQL injection merupakan penyalahgunaan
yang target utamanya adalah informasi database yang ada pada aplikasi berbasis web
dengan
cara
memasukkan perintah SQL atau query
tanpa adanya validasi atau
bisa diebut ilegal. SQL Injection memungkinkan seseorang
yang
tidak bertanggung
jawab
dapat masuk kedalam sebuah
aplikasi web
tanpa harus memiliki sebuah account.
SQL
injection juga bisa untuk
merubah, menghapus, ataupun
menambahkan data ke dalam database. Dan yang
lebih fatal lagi adalah apabila hacker
mematikan
database itu,
yang
dapat berakibat aplikasi web
tersebut tidak bisa memberi layanan kepada web server. Aplikasi web
dapat dilindungi dari serangan injeksi SQL dengan
mempertimbangkan
dua
hal utama yaitu mekanisme untuk
mendeteksi serangan injeksi SQL, dan
kedua yaitu
pengetahuan tentang
kerentanan injeksi
SQL
dalam aplikasi web.
Di
sini kita akan melihat solusi paling menonjol dan cara kerjanya secara singkat dan tahu tentang
ide?ide inti dibaliknya. Salah satu cara melindungi dari
serangan
sql
injection yaitu
dengan
pendekatan
pengujian keamanan database.
Pendekatan ini memiliki 3 cara yaitu
deteksi titik
input potensial injeksi SQL,pembuatan kasus uji secara
otomatis, menjalankan
uji
kasus untuk
melakukan
serangan
pada
aplikasi untuk menemukan kerentanan
basis data. Mekanisme di atas terbukti efisien karena mampu mendeteksi titik
input SQL Injection
dengan tepat dan
tepat waktu
sesuai harapan.
Pendekatan
SQL?IDS Pendekatan ini menggunakan metode berbasis spesifikasi baru
untuk mendeteksi eksploitasi kerentanan
injeksi SQL. Metode yang diusulkan
di sini melakukan
deteksi spesifik query yang
memungkinkan sistem untuk
melakukan
analisis terstruktur di hampir tidak
ada
overhead komputasi. Ini adalah
pendekatan yang
sangat baru
dan dalam penerapannya sangat efisien. Namun, diperlukan untuk
melakukan lebih banyak
eksperimen dan melakukan
perbandingan
dengan metode deteksi lain dibawah
lingkungan yang
fleksibel dan berbagi
(Baranwal,2012). Contoh mudah teknik
SQL
Injection melalui form username harusnya username diisi dengan
karakter saja,
tetapi form tersebut bisa diisi dengan karakter lain, jadi hacker bisa menyisipkan
karakter seperti (:;-,=’) sehingga hacker bisa memasukan query
SQL
Injection, akibatnya yang
pasti website Anda sudah bisa ditembus oleh hacker tersebut.
Tujuan SQL injection SQL Injection
yang dilakukan oleh hacker pasti memiliki tujuan, tidak
mungkin hanya sebatas iseng
saja.
Berikut beberapa tujuan
SQL
Injection yang sering banyak ditemui: 1.
Bypass Otentikasi Jika berhasil masuk kedalam sistem,
hacker akan mudah melakukan bypass tanpa perlu menggunakan username dan password
yang benar untuk
bisa mendapatkan
akses.
Cukup dengan memasukan
script SQL Injection
pada
form yang masih terbuka. 2.
Pencurian Informasi Hacker memungkinkan untuk mengambil semua informasi yang ada pada website terutama informasi yang bersifat sensitif
seperti username dan password. 3.
Modify Data Selain menghapus data,
hacker
dengan mudah
mengubah data yang tersimpan
di database sehingga menyebabkan data tidak valid. Jadi Anda perlu memiliki backup data jika sewaktu-
waktu data dirubah oleh orang
yang tidak bertanggung jawab. 4.
Command
Execution Pada beberapa database,
Anda
sebagai user
bisa mengakses operating system menggunakan server
database,
kalau sudah seperti ini hacker bisa dengan mudah menyerang semua yang
ada
pada website Anda.
Cara Mengecegah
SQL
Injection Untuk meminimalisir
semua efek yang
diakibatkan
dari serangan SQL Injection, Anda bisa
melakukan beberapa tindakan
seperti berikut ini,
yaitu: 1.
Sesuaikan
input box Jika form input box tujuannya untuk
menuliskan nama,
maka berikan khusus untuk
karakter saja, jika untuk mengisikan nomor telepon
maka isilah dengan numbering saja sehingga
tindakan SQL Injection bisa dihindarkan. 2.
Batasi input box Untuk lebih amannya dalam setiap
box dibatasi jumlah
karakternya, contoh saja untuk
nama
paling tidak diberikan
30 karakter atau
disesuaikan sesuai dengan
kebutuhan,
sehingga jika
ada
percobaan SQL Injection
yang
masuk akan terkendala oleh
jumlah
karakter yang
tersedia. 3.
Filter user Melakukan
filter kepada inputan setiap user, terutama yang menggunakan karakter kutip tunggal (Validation Input)
karena ini menjadi salah satu trik yang dilakukan hacker
untuk SQL Injection. 4.
Mematikan error
handling Jika terjadi error, Anda perlu
mematikan
fitur
notifikasi pesan
error yang keluar
dari SQL
Server. Jika sampai ada, ini bisa menjadi celah
bagi hacker untuk melakukan eksploitasi lebih dalam percobaan SQL Injection. 5.
Nonaktifkan fitur standart SQL Fitur-fitur standart yang ada di SQL seperti Stored Procedures dan Extend
Stored Procedures
lebih
baik
untuk dimatikan saja, karena rawan
terkena SQL Injection. 6.
Setting Privilege
Silahkan Anda rubah pada bagian “Stratup and
run SQL Server”
dengan setting
low
privilege user
pada menu SQL Server Security tab. |