Rabu, 06 Februari 2013

Cara Mencegah Teknik SQL Injection



Sebenarnya ada banyak teknik yang biasa dilakukan peretas dalam menjalankan aksinya untuk membobol situs web. Menurut pantauan Cyber4rt, beberapa penggunaan teknik sql injection adalah melalui POST method melalui form dan GET method atau melalui link yang memiliki parameter, misalnya:  
http://www.domain.com/halaman.php?id=8
Link di atas memiliki parameter id dan biasanya diikuti dengan angka atau kata tertentu. Angka atau kata tersebut menunjukkan id unik dari artikel yang ingin ditampilkan pada halaman web. Dengan menambahkan query sql tertentu pada id tersebut yang bisa mengakibatkan munculnya pesan error, peretas akan mampu menampilkan isi dari database hingga ke akar-akarnya khususnya user admin dan password.
Cara Mencegah Teknik SQL Injection
Gambar: Dbswebsite.com
Di sini Cyber4rt tidak akan menjelaskan teknik sql injection, tapi kita akan belajar bagaimana cara mencegah teknik tersebut. Pencegahan yang akan kita gunakan kali ini yaitu mengabaikan query yang disisipkan oleh peretas dengan menerapkan teknik casting nilai parameter ke dalam tipe data integer.
Pada umumnya, dalam script halaman artikel, contoh: halaman.php, di dalamnya terdapat perintah seperti berikut:
<?php
$id = $_GET['id'];
/* script agar menampilkan halaman dengan id tertentu*/
?>
Perintah $id = $_GET['id']; di atas digunakan agar bisa membaca nilai parameter id untuk menampilkan halaman berdasar dari id tersebut. Teknik casting dapat diterapkan pada script halaman.php dengan menambahkan function abs dan int sehingga menjadi:
<?php
$id = abs((int) $_GET['id']);
 
/* script agar menampilkan halaman dengan id tertentu*/ 
?>
Function int di atas berfungsi untuk menghilangkan query yang disisipkan pada parameter dalam url/link. Sebagai contoh, misalkan Anda memiliki sebuah string id='8 union all select 1,concat(user,0x3a,pass,0x3a,email) from users--. Apabila id ini di-casting ke dalam integer maka akan tetap menghasilkan id=8
Sedangkan function abs berfungsi untuk menjaga agar nilai parameter id adalah bernilai positif. Salah satu tool sql injection yang bernama Havij, tidak akan mempan jika Anda menggunakan function ini.
Selamat mencoba dan semoga bermanfaat.

?max-results=10">Label 1');
?max-results="+numposts4+"&orderby=published&alt=json-in-script&callback=showrecentposts4\"><\/script>");

Mengenai Saya

Creating Website »
">Index »'); document.write('

?max-results=10">Label 2

');

Visitors

Label

BackGround

Like Button

Label

My Facebook

Halaman

Kotak Pesan

1

Ilmu komputer

FarhanShare On Facebook

Donation

konten 1
konten 2
konten 3

Test Footer

lknn
Recent Posts

Laman

Diberdayakan oleh Blogger.

Partner

Popular Posts

Blog Archive

Followers

Mengenai Saya

Arsip Blog

Featured Posts

|| | Copyright 2012 By : Mangakeh.blogspot.com | Created By : Uda Google.. ||