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 melalui field input ataupun melalui URL. Mengingat sederhananya teknik ini ada beberapa programmer yang terkadang mengabaikannya.
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:
http://www.domain.com/index.php?id=10
perintah untuk menampilkan record dari skema URL seperti di atas biasanya adalah seperti ini :
select * from tblBerita where id = 10
maka pada penulisan sintak php akan menjadi seperti ini :
$SQL="select * from tblBerita where id = '".$_GET['id']."'";
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 :
http://www.website.com/index.php?id=10'
maka SQL query tersebut tidak akan bisa di eksekusi dan database server akan memberikan balikan berupa pesan error seperti berikut :
#1064 - You have an error in your SQL syntax;
check the manual that corresponds to yourMySQL server version for the right syntax to use near ''' at line 1
karena dibalik layar, Query SQL yang di jalankan adalah seperti dibawah ini :
select * from tblBerita where id ='10''
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.
Next mimin akan memposting bagaimana cara mencegah SQL Injection :D
Terimakasih sudah berkunjung di blog kami :D
EmoticonEmoticon