JULY SPECIAL ! DISKON 96%
Belajar Data Science Bersertifikat, 12 Bulan hanya 180K!
1 Hari 13 Jam 56 Menit 15 Detik

SQL Injection : Ancaman Bahaya Bagi Database

Belajar Data Science di Rumah 22-September-2023
https://dqlab.id/files/dqlab/cache/kv-2-banner-longtail-selasa-06-2023-09-23-090810_x_Thumbnail800.jpg

SQL injection atau biasa dikenal dengan SQLi adalah kerentanan keamanan web yang memungkinkan penyerang mengganggu query yang dibuat aplikasi ke database-nya. Hal ini memungkinkan penyerang melihat data yang biasanya tidak dapat mereka ambil.


Penyerangan ini bisa termasuk data milik pengguna lain, atau data lain apa pun yang dapat diakses oleh aplikasi. Dalam banyak case, penyerang dapat mengubah atau menghapus data ini dan dapat menyebabkan perubahan terus-menerus pada konten atau perilaku aplikasi.


Dalam beberapa situasi, penyerang dapat meningkatkan serangan SQL injection untuk menyusupi server dasar atau infrastruktur back-end lainnya.


Hal ini juga dapat memungkinkan mereka untuk melakukan serangan denial-of-service. Jika penyerang sudah bisa mengakses database penting, hal ini akan berbahaya karena bisa menyebabkan kebocoran data penting yang seharusnya dirahasiakan.


Pada artikel kali ini, kita akan membahas serba-serbi yang perlu kita ketahui terkait SQL injection sehingga kita bisa lebih waspada. 


1. Dampak Jika SQL Injection Berhasil

SQL

Source: kwangjoo kim


Serangan SQL injection yang berhasil dapat mengakibatkan akses tidak sah ke data sensitif, seperti password, detail kartu kredit, hingga informasi pribadi milik users. SQL injection telah digunakan dalam banyak pelanggaran data tingkat tinggi selama bertahun-tahun.


Hal ini telah menyebabkan kerusakan dan kerugian materiil. Dalam beberapa kasus, penyerang bisa mendapatkan backdoor yang tidak terlihat dan dapat terus-menerus ke dalam sistem organisasi/perusahaan sehingga menyebabkan error yang mungkin luput dari perhatian dalam jangka waktu lama jika tidak terdeteksi.


Baca juga : Bootcamp Data Analyst with SQL and Python


2. Cara Mendeteksi Kerentanan SQL Injection


SQL


Kita dapat mendeteksi SQL injection secara manual menggunakan serangkaian pengujian sistematis terhadap setiap titik masuk dalam aplikasi. Untuk melakukan ini, kita bisa menggunakan beberapa poin

  • Karakter kutip tunggal (') dan mencari kesalahan atau anomali lainnya.

  • Beberapa sintaks khusus SQL yang mengevaluasi base value dari titik masuk dan mencari perbedaan sistematis dalam respons aplikasi.

  • Kondisi Boolean seperti OR 1=1 dan OR 1=2, dan mencari perbedaan respon aplikasi.

  • Payload dirancang untuk memicu penundaan waktu saat dieksekusi dalam query SQL, dan mencari perbedaan waktu yang dibutuhkan untuk merespons.

  • Payload OAST dirancang untuk memicu interaksi jaringan out-of-band saat dieksekusi dalam query SQL, dan memantau setiap interaksi yang dihasilkan.


Alternatif lainnya, kita dapat menemukan sebagian besar kerentanan SQL injection dengan cepat dan andal menggunakan Burp Scanner.


3. SQL Injection Di Berbagai Bagian Query

Sebagian besar kerentanan SQL injection terjadi dalam clause WHERE dari query SELECT. Namun, kerentanan SQL injection dapat terjadi di lokasi manapun dalam suatu query dan dalam tipe query yang berbeda. Beberapa lokasi umum lainnya di mana SQL injection muncul adalah

  • UPDATE statement, dalam nilai yang diperbarui atau clause WHERE.

  • INSERT statement, di dalam nilai yang disisipkan.

  • SELECT statement, di dalam nama tabel, kolom, atau clause ORDER BY.


4. Contoh SQL Injection

Ada banyak kerentanan, serangan, dan teknik SQL injection yang terjadi dalam situasi berbeda. Beberapa contoh SQL injection yang umum ditemukan adalah 

  • Mengambil data tersembunyi dimana penyerang dapat mengubah query SQL untuk mengembalikan hasil tambahan.

  • Mengubah logika aplikasi dimana penyerang dapat mengubah query untuk mengganggu logika aplikasi.

  • Serangan UNION dimana penyerang dapat mengambil data dari tabel database yang berbeda.

  • Blind SQL injection dimana hasil query yang kita buat atau kontrol tidak dikembalikan dalam respons aplikasi.


Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data


Yuk pelajari bagaimana cara kerja SQL dengan berbagai statement dan clause dengan modul dan live code editor dari DQLab!


DQLab adalah platform edukasi pertama yang mengintegrasi fitur ChatGPT yang memudahkan beginner untuk mengakses informasi mengenai data science secara lebih mendalam.


DQLab juga menggunakan metode HERO yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Jadi sangat cocok untuk kamu yang belum mengenal data science sama sekali.


Untuk bisa merasakan pengalaman belajar yang praktis dan aplikatif, yuk sign up sekarang di DQLab.id atau ikuti Bootcamp Data Analyst with SQL and Python berikut untuk informasi lebih lengkapnya!


Penulis: Galuh Nurvinda K

Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login