TUTORIAL MENGATASI SERANGAN SQL INJECTION

SQL injection adalah jenis aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem dengan memanfaatkan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi yang tidak diproteksi dengan baik.

Cara yang digunakan oleh attacker sebenarnya sangat sederhana, yaitu penyerang berusaha memasukkan query yang tidak valid ke melalui field input ataupun melalui URL. Mengingat sederhananya teknik ini ada beberapa programmer yang terkadang mengabaikannya.

Mengenal Cara Kerja SQL Injection

Pada umumnya sintak SQL yang sering dipakai pada proses developing atau pembuatan sebuah aplikasi adalah sintak yang termasuk dalam kategori perintah DML(Data Manipualtion Language) yakni INSERT, UPDATE dan DELETE. sebagai contoh misalnya kita punya sebuah web dengan URL seperti ini:

perintah untuk menampilkan record dari skema URL seperti di atas biasanya adalah seperti ini :

maka pada penulisan sintak php akan menjadi seperti ini :

pada proses eksekusi normal sintak tersebut, database server akan memberikan balikan hasil sesuai yang parameter yang dikirimkan. Namun bila kita memodifikasi parameter yang dikirim melalu url dengan sebuah karakter khusus yaitu single quote ( ‘ ) seperti ini :

maka SQL query tersebut tidak akan bisa di eksekusi dan database server akan memberikan balikan berupa pesan error seperti berikut :

karena dibalik layar, Query SQL yang di jalankan adalah seperti dibawah ini :

Dan hal ini lah yang mejadi celah sebuah situs dan dengan mudah di eksploitasi dengan metode SQL Injection. apa lagi jika dengan menggunakan tools SQL ijection yang mempermudah kerjaan si hacker.

Mengamankan Dari Serangan SQL Injection

ada beberapa cara yang bisa kita lakukan untuk mengatasi serangan SQL injection , kita bisa membuat script anti SQL injection dengan memanfaatkan fungsi bawan dari PHP yaitu mysql_real_escape atau mysql_real_escape_string. cara penggunaanya adalah sebagai berikut :

selain cara di atas, ada beberapa tips aplikatif yang bisa anda gunakan untuk mengamankan web anda dari serangan SQL injection, berikut ini tips nya :

  1. Batasi panjang input box (jika memungkinkan), dengan
    cara membatasinya di kode program, jadi si cracker pemula akan bingung sejenak melihat input box nya gak bisa diinject dengan perintah yang panjang.
  2. Filter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal (Input Validation).
  3. Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan.
  4. Matikan fasilitas-fasilitas standar seperti Stored Procedures, Extended Stored Procedures jika memungkinkan.
  5. Ubah “Startup and run SQL Server” menggunakan low privilege user di SQL Server Security tab.

Tools Yang Digunakan Untuk SQL Injection

Hanya sebagai pengetahuan saja tentang toosls yang bisa anda gunakan untuk melakukan uji coba keamanan aplikasi yang sedang anda kembangkan terkait masalah SQL inkection, berikut ini tools yang sering diguanakan :

  1. BSQL Hacker adalah sebuah toold yang Dikembangkan oleh Portcullis Labs, BSQL Hacker adalah SQL injection yang di rancang untuk mengeksplor hampir seluruh jenis data base.
  2. Havij adalah SQL Injection otomatis alat yang membantu penguji penetrasi untuk mencari dan mengeksploitasi kelemahan SQL Injection pada halaman web.

Sebenarnya masih banyak lagi tools yang bisa anda gunakan untuk ujicoba keamanan aplikasi yang sedang anda kembangkan dari serangan SQL injection.

Referensi

http://indonesiahackercyberteam.blogspot.co.id/2014/07/mencegah-website-dari-serangan-sql.html

Be the first to like.

Did you like this? Share it:

Leave a Reply