Selasa, 11 Juni 2013

SOFTWARE SECURITY - SQL Injection



SQL INJECTION 

Pengertian SQL Injection
SQL  injection  adalah  sebuah  aksi  hacking  yang  dilakukan  di  aplikasi  client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client.
SQL Injection  merupakan  teknik  mengeksploitasi  web  aplikasi  yang  didalamnya menggunakan database untuk penyimpanan data. 
Sebab terjadinya SQL Injection
1. Tidak  adanya  penanganan  terhadap  karakter  – karakter  tanda  petik  satu dan juga karakter double minus – yang menyebabkan suatu aplikasi dapat disipi dengan perintah SQL.
2. Sehingga seorang  Hacker  menyisipkan  perintah  SQL  kedalam  suatu  parameter maupun suatu form. 

Bug SQL Injection berbahaya ?
1. Teknik  ini  memungkinkan  seseorang  dapat  login  kedalam  sistem  tanpa  harus memiliki account. 
2. Selain itu  SQL  injection  juga  memungkinkan  seseorang  merubah,  menghapus, maupun menambahkan data–data yang berada didalam database.
3. Bahkan  yang  lebih  berbahaya  lagi  yaitu  mematikan  database  itu  sendiri, sehingga tidak bisa memberi layanan kepada web server.

Apa saja yang diperlukan untuk melakukan SQL Injection ?
1. Internet Exploler / Browser
2. PC yang terhubung internet
3. Program atau software seperti softice

Contoh sintaks SQL Injection
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

Gambar contoh SQL Injection :

 






Contoh sintaks SQL Injection :
1) Sintaks SQL string ‘-- setelah nama username 
2) Query database awal :

 Berubah menjadi :


Contoh sintaks SQL Injection :
SQL Injection melalui URL, contohnya :

1.    Merubah script php
2.    Menggunakan MySQL_escape_string
3.    Pemfilter karakter „ dengan  memodifikasi php.ini