Jumat, 12 Maret 2010

SQL Injection


SQL merupakan singkatan dari Structured Query Language yang ditetapkan oleh ANSI (American National Standard Institute) untuk mengakses dan memanipulasi sistem database. SQL bekerja dengan program-program database seperti MS Access, DB 2, Informix, MS SQL Server, Oracle, Sybase dan lain-lain. 
SQL Injection attack merupakan salah satu teknik dalam melakukan web hacking untuk menggapai akses pada sistem database yg berbasis SQL. Teknik ini memanfaatkan kelemahan dalam bahasa pemprograman scripting pada SQL dalam mengolah suatu sistem database. Hasil yg ditimbulkan dari teknik ini membawa masalah yg sangat serius. Mengapa disebut SQL Injection ? seperti yg kita ketahui, injection jika diartikan ke dalam bahasa Indonesia yaitu "suntikan". Yang terjadi memang seperti melakukan suntikan terhadap SQL yg tujuannya adalah tergantung kepada pelakunya dan pada intinya jika disalahgunakan maka akan membawa aspek negatif terhadap korban.
Sebab-sebab terjadinya SQL injection ini biasanya karena tidak adanya penanganan terhadap karakter-karakter tanda petik  ( ' ) dan karakter double minus ( -- ) yang menyebabkan suatu aplikasi dapat disisipi oleh seorang hacker dengan menyisipkan perintah SQL kedalam suatu parameter maupun suatu form.
Sebenarnya ada banyak variasi dari injection string yang dapat dilakukan untuk melakukan SQL injection seperti dibawah ini :
'or 1=1-- 'or 0=0 -- 'or 'x'='x 'or a=a- "or 0=0 -- "or 0=0 # "or "x"="x ")or("a"="a admin'--
dll.......
SQL Injection yg dilakukan seseorang dapat dideteksi dgn menggunakan IDS (Intrusion Detection System). IDS bukan lagi tool yg terlalu asing terdengar ditelinga anda. Anda dapat mencarinya di www.google.com 
Contoh sintak SQL dalam PHP
1)      $SQL = “select * from login where username =’$username’ and password = ‘$password’”; , {dari GET atau POST variable }
2)      isikan password dengan string ’ or ’’ = ’
3)      hasilnya maka SQL akan seperti ini = “select   * from login where username = ’$username’ and password=’pass’ or ‘=′”; , { dengan SQL ini hasil selection akan selalu TRUE }
4)      maka kita bisa inject sintax SQL (dalam hal ini OR) kedalam SQL

0 comments:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India