SQL Injection dan buffer overflow adalah teknik hacking yang digunakan untuk meng exploit kelemahan didalam suatu aplikasi. Ketika suatu kode program di tulis, tentunya beberapa parameter dipakai untuk membangun aplikasi itu, nah parameter itu bisa jadi mengandung kelemahan yang bisa di exploitasi.
Kesamaaan kedua teknik antara sql ijection dan buffer overflow adalah sama sama digunakan untuk menyerang aplikasi yang akibat “kesalahan pemograman “. Adapun bedanya adalah bahwa SQL Injection digunakan untuk menyerang database , sedangkan buffer overflows bisa digunakan untuk menyerang aplikasi apapun.
Kesamaan lainnya adalah kedua teknik diatas mereka mengirimkan code hacking nya melalui form form yang memiliki user input misalnya guest book, komentar, tanya jawab, admin login, user login.
Keduanya juga disebabkan oleh issue yang sama yaitu invalid parameter yang tidak diverifikasi oleh aplikasi, jika programmer nya tidak mengambil tindakan untuk mem validasi variable yang user masukkan kedalam field variable maka hasilnya bisa sangat serius dan tidak bisa diprediksi.
Baiklah saya akan coba ulas lebih jauh lagi didalam artikel saya, seperti dibawah ini ;
SQL Injection
Sebagai seorang Certified Ethical Hacker penting kiranya untuk tahu definisi SQL Injection dan memahami langkah langah yang di lakukan hacker untuk melakukan suatu SQL Injection, dan tentunya kita mesti faham juga SQL Server Vulnerabilities sebagai counter dari SQL Injection. Maksudnya adalah dengan mengerti vulnerabilitiesnya kita bisa melakukan langkah penanggulangan agar SQL injection ini menjadi gagal.
SQL Injection terjadi saat aplikasi memproses apa yang user masukkan untuk mencreate SQL statetement, misalnya ketika user diminta untuk memasukkan komentar , tanpa memvalidasi inputnya. Input dari user ini kemudian langsung di sent ke web untuk di eksekusi, ketika berhasil di exploitasi maka SQL Injection dapat memberikan akses penyerang akses ke database content, dan hacker bisa mengambil alih control pada server yang meng-hosting- database tersebut. Ini juga bisa mengakibakan hacker memiliki akses remote shell kedalam server.
Impact dari SQL Injection ini tergantung dari dimana vulnerability code itu berada, seberapa mudah vulnerability itu bisa di exploit, dan level akses dari aplikasi ke database. Secara teori SQL Injection bisa berlangsung pada aplikasi jenis apapun asalkan memang berhubungan dengan suatu database, akan tetapi pada umumnya ini digunakan untuk menyerang website, sebab banyak sekali alternative pilihan user input ketika suatu website kemudian di publish ke internet.
Untuk men cek apakah website itu vulnerable terhadap SQL Injection bisa digunakan scanner semacam Acunetix ( www.acunetix.com) untuk versi komersilanya,, atau saya biasa menggunakan tool gratisan semacam netsparker dari www.netspaker.com (untuk instalasi dan penggunaanya akan saya ulas dalam artikel terpisah ).