Kimankeren’s Bloggie!


SQL Injection

SQL Injection adalah salah satu metode yang dilakukan untuk mengeksploitasi kelemahan pada koding halaman web. Apa aja yg bisa diperoleh dari metode ini? Buaannnnyaakkk, misal menampilkan username + password user/member dari suatu situs, insert data pada database, n dll. OK, langsung kita praktekan saja.

Kalo yg pernah/sering bikin web, pasti tau beda antara METHOD GET n POST. Method GET akan menampilkan parameter inputan pada URL di address bar. Hal ini kadang yg menjadikan kita dapat mengetahui isi dari parameter yang di pass ke web serverna. Misal :

http://www.target.com/apaajah.php?news=32

Dari URL web tsb kita bisa liat kalo parameter news akan di pass ke web server dgn nilai 32. Jika pada koding halaman apaajah.php terdapat Query SQL seperti ini :

$news = $_GET['news'];
$hasil = mysql_query(“SELECT nama_field FROM nama_tabel WHERE news_id = $news “);

Maka akan dipastikan kalo hasil dari query tersebut akan menampilkan field dgn kondisi news_id = 32, jika news_id yg dicari tidak ada, maka akan menghasilkan error. Error ini lah yang menjadi tanda kalo tidak adana pengecekan terhadap nilai parameter yang salah atau invalid. Kalo kita beginikan pada URL gimana :

http://www.target.com/apaajah.php?news=-1

Maka akan muncul error pada web yg bersangkutan bila tipe data news_id harus positif ) ) Tyus hubunganna ma SQL Injection gimana? Jika tidak ada pengecekan terhadap nilai paramater, maka kita bisa menambah/mengurangi nilai tsb. Misal :

http://www.target.com/apaajah.php?news=32 AND 1=0–

Ada tambahan string pada URL tsb, yaitu “AND 1=0–”, Apa artina? string tsb adalah operator logika BOOLEAN, dimana Query SQL yang akan diproses pada koding web tsb akan berubah. Tadina hanya mencari news_id dengan nilai 32 saja, akan berubah menjadi “tampilkan nama_field dengan news_id = 32 DAN 1=0″. Dalam logika, 1 TIDAK SAMA DENGAN 0, maka 1=0 bernilai FALSE (syntax — akan mengakhiri Query SQL walaupun masih ada Query SQL dibelakangna). Hasil dari query SQL tsb akan tidak menampilkan apa2, karena kondisi bernilai FALSE. Bila hal ini terjadi maka halaman apaajah.php pada web tsb BERPOTENSI untuk dilancarkan serangan SQL Inejction ) )

Lebih lengkapnya di >>> http://forum.sridewi.com/viewtopic.php?f=7&t=259


& Komentar sejauh ini
Tinggalkan komentar

nice … thx buat linknya …

salam kenal
kanabies.wordpress.com

Komentar oleh sgk

kalo ga ngerti, tanya aja lg kk…

Komentar oleh kimankeren




Tinggalkan komentar
Baris dan paragraf terpisah secara otomatis, alamat email tidak akan ditampilkan, kode HTML diperbolehkan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>