Menutup celah SQL Injection

Bintaro – Buat para kuli koding atau tukang bajak website pasti familiar sama serangan dengan tekhnik SQL Injection. Selain serangan XSS, SQL Injection adalah dasar awal para ‘pembajak’ memulai showoff nama mereka. Yang bakal gw bahas disini cara untuk menutup celah serangan SQL Injection di halaman yang gunain method $_GET, bukan bagian nutup celah serangan SQL Injection di form user admin. Insyallah di lain waktu gw juga bakal share bagian tersebut.

“Injeksi SQL (Bahasa Inggris: SQL Injection)adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain.” wiki

mysqli_real_escape_string

Cara pertama adalah menggunakan fungsi mysqli_real_escape_string(connection,escapestring) saat mengambil ID dari table untuk ditampilkan. Misal url yang kita buat adalah namasitus.com/berita.php?id=2 dan kemudian script familiar yang biasa digunakan itu

Script tersebut sangat rentan sekali untuk ditembus oleh SQL Injection.. Berikut perubahan simple untuk menutup akses SQL Injectionnya

Fungsi filter_var() dan filter_validate_int

Cara yang kedua adalah menggunakan fungsi filter numerik saja yang dapat di persilahkan. Berikut tampilan default nya

Apakah itu cukup untuk menutup? NOPE!! belum bisa menutup celah SQL Injection. Tadi sempet nyoba gunain kutip tunggal ( ‘ ) di belakang angka id (misal: berita.php?id=3′). Nah disitu emang bisa nutup, tapi pas gw coba pakai tanda minus ( – ) sebelum angka id (misal: berita.php?id=-3’) masih bisa lolos. Kalo gw sih ngeliatnya karena -3 itu masih berupa INT. Nah disini tambahin untuk membuat minimum INT yang bisa dieksekusi

Semoga bermanfaat…

About the Author

Anshori Wahyu

My name is Mas Wahyu Anshori, 32 years old. I am a student from STIE Ahmad Dahlan Jakarta, work at Seratus Company since Oct 2012. Before I came to Seratus Company, I was doing web content at Melodia Group and be part of Kehati as a freelance web developer. I was also a freelance web developer with simple HTML, CSS base, jQuery, and PHP. Learned HTML and CSS base (with a help of Google) by myself would be my achievement so far. I’am an Indonesian football junkie, as well as addicted to HTML, CSS and jQuery coding.

Be the first to comment on "Menutup celah SQL Injection"

Leave a Reply