Serangan Injeksi SQL: Apa itu?

(Untuk Alessandro Rugolo)
26/02/24

Berapa kali Anda mendengar tentang SQL Injection dan berjanji pada diri sendiri untuk memahami apa itu SQL Injection, tanpa punya waktu atau keinginan untuk melakukannya?

Jika Anda punya waktu tiga menit, saya akan mencoba menjelaskannya kepada Anda, dengan cara yang sederhana.

Mari kita mulai dari namanya: SQLi, SQL Injection atau, secara lengkap (dalam salah satu interpretasi yang mungkin), "Injeksi Bahasa Kueri Terstruktur" ini adalah jenis serangan terhadap database aplikasi web yang terdiri dari eksekusi kueri berbahaya. Untuk kelengkapannya saya menambahkan bahwa SQL adalah bahasa standar yang digunakan untuk berinteraksi dengan database relasional.

Tapi apa artinya? Kamu bilang. 

Mari kita ambil contoh praktis. Bayangkan halaman web situs perdagangan online, yang secara umum memungkinkan untuk mencari dan memilih produk yang akan dibeli. Seringkali, Anda dapat memasukkan string teks yang menyertakan simbol atau karakter khusus di kotak pencarian. Ya, beberapa karakter mungkin tampak tidak berbahaya bagi kita tetapi ini tidak berlaku untuk database yang menafsirkannya dengan cara yang sangat berbeda.

Apa yang bisa terjadi jika Anda menjadi korban serangan SQLi?

Sayangnya, apapun bisa terjadi.

Jika kontrol pada kemungkinan query database salah (atau seperti yang masih kita lihat, tidak ada), ada kemungkinan bahwa data yang ada di dalamnya akan diubah, dihapus, disalin atau bahkan dienkripsi. Berpindah dari database ke area lain dalam sistem tidaklah sulit, sehingga penyerang dengan waktu dan sumber daya yang minimal serta pengetahuan TI dapat menyebabkan banyak kerusakan.

SQLi adalah salah satu serangan paling terkenal dan masih berfungsi hingga saat ini, terutama karena pemrograman halaman web yang buruk di mana, seperti telah disebutkan, pemeriksaan yang benar tidak dilakukan terhadap apa yang dapat dimasukkan oleh pengguna situs sebagai permintaan.

Jenis serangan ini telah diketahui publik setidaknya sejak tahun 1998, berkat artikel tersebut "Kerentanan Teknologi Web NT" dirilis di Phrack oleh Rain Forest Puppy, nama samaran Jeff Forristal, hacker dan pakar keamanan dunia.

Untuk memperdalam:

- http://phrack.org/issues/54/8.html

- https://www.esecurityplanet.com/networks/how-was-sql-injection-discovered/

- https://owasp.org/www-community/attacks/SQL_Injection