Pengertian SQL Injection: Tujuan, Tools, Dan Cara Mengatasinya

Pengertian SQL Injection: Tujuan, Tools, Dan Cara Mengatasinya

 

SQL Injection merupakan salah satu teknik memanfaatkan 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. 

Apa sih SQL Injection dan bagaimana cara mengatasinya?

Seperti yang saya sebutkan diatas tadi, SQL Injection merupakan 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. Dimana sampai saat ini SQL Injection masih menjadi favorit hacker untuk melakukan serangan pada sebuah  website.

Cara untuk menembus sebuah website, Contoh yang paling  mudah dari teknik SQL Injection yaitu melalui form username harusnya username diisi dengan karakter saja, tetapi form tersebut bisa diisi dengan karakter lain, jadi disinilah seorang hacker bisa menyisipkan karakter seperti ('=''or') sehingga hacker bisa memasukan query SQL Injection, nah kondisi ini boleh dibilang berakbat website tersebut sudah bisa ditembus oleh hacker. 

Tujuan SQL Injection:

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 teknik ini juga disebut bypass sql log.

2. Pencurian Informasi

Hacker memungkinkan untuk mengambil semua informasi yang ada pada website terutama informasi yang bersifat sensitif seperti username, password, email, dan yang lainnya . 

3. Delete Data

SQL Injection memungkinkan untuk hacker menghapus semua data yang tersimpan di database, jika sudah terjadi seperti ini dan tidak ada backup database maka akan sangat berbahaya. Jadi Anda perlu melakukan backup data secara berkala untuk tujuan keamanan data. 

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

 

Cara Mencegah 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.

 

Tools SQL Injection

Whatever, jika kalian ingin mencoba dan tanggung jawab sendiri karena tujuan blog ini untuk edukasi saja, ada banyak tools yang dipakai, nah untuk mempermudah dalam praktek SQL Injection ini, maka bisa menggunakan tools berikut ini: 

  1. BSQL Hacker, Dikembangkan oleh Portcullis Labs, BSQL Hacker adalah SQL injection yang di rancang untuk mengeksplor hampir seluruh jenis data base
  2. The Mole, Mole adalah tool open source, Mole dapat melewati beberapa sistem IPS / IDS yang menggunakan filter generik, mole dapat meng eksplor hanya dengan menggunak URL yang rentan dan string valid.
  3. Pangolin, Diproduksi oleh perusahaan yang sama yang membuat JSky, NOSEC, Pangolin adalah tool injeksi SQL secara menyeluruh pada web dengan user-friendly GUI dan support hampir untuk selur data base.
  4. SQLMap, SQLMap adalah tool open source yang di jalankan menggunakan command dan support untuk data base MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MaxDB.
  5. Havij, Tool ini sudah sangat terkenal di gunakan oleh para peretas di seluruh dunia, Havij di kembangkan oleh programer iran dengan GUI yang sederhana meng injek SQL menggunakan harvij kemungkinan berhasil adalah 95 persen dan masih banyak lagi kelebihan havij.
  6. SQL Ninja, Sql Ninja di kembangkan oleh icesurfer tool yang di rancang untuk targen server SQL, data base fingerprint, dan semu kemampuan untuk mengendalikan database yang rentan injek.

 

(info diatas adalah untuk pembelajaran atau edukasi, kerugian dan tanggung jawab ditanggung sendiri)