SQL Injection

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.

 Copyright stekom.ac.id 2018 All Right Reserved