Apa Itu SQL Injection ? - Blog Rizki M Farhan
Skip to content Skip to sidebar Skip to footer

Apa Itu SQL Injection ?

 Apa Itu SQL Injection ?

Apa Itu SQL Injection ?

SQL Injection adalah teknik penyerangan terhadap basis data yang memanfaatkan celah keamanan pada aplikasi web. Dalam serangan ini, penyerang menyisipkan perintah SQL yang berbahaya ke dalam input yang dikirimkan ke aplikasi web. Ketika aplikasi web tidak memvalidasi atau menyaring input dengan benar sebelum menjalankan perintah SQL pada basis data, hal ini dapat memungkinkan penyerang untuk melakukan berbagai tindakan berbahaya, seperti mengambil, mengubah, atau menghapus data dalam basis data. Serangan ini memanfaatkan celah keamanan pada aplikasi yang tidak memvalidasi atau menyaring input dengan benar sebelum menjalankan perintah SQL pada basis data. SQL Injection adalah teknik serangan keamanan pada basis data yang dilakukan dengan menyisipkan atau memasukkan perintah SQL berbahaya ke dalam input yang dikirimkan ke aplikasi web.

Pengertian Apa Itu SQL Injection ?

SQL Injection adalah teknik serangan keamanan pada database yang bertujuan untuk mengambil, mengubah, atau menghapus data yang tersimpan dalam database melalui manipulasi string input yang dikirimkan ke server database. Serangan ini terjadi ketika aplikasi web tidak memvalidasi input pengguna dengan benar sebelum mengirimkannya ke server database, sehingga memungkinkan penyerang untuk menyisipkan perintah SQL berbahaya. Penyerang biasanya menggunakan SQL Injection untuk mencuri informasi sensitif, mengakses akun pengguna, mengambil kontrol atas sistem, atau merusak integritas data. Beberapa contoh tindakan yang dapat dilakukan oleh serangan SQL Injection antara lain :
  1. Mengambil Informasi Sensitif : Penyerang dapat menggunakan SQL Injection untuk mengambil informasi sensitif seperti nama pengguna, kata sandi, nomor kartu kredit, atau data pribadi lainnya yang disimpan dalam database.
  2. Mengubah Data : Penyerang dapat memanipulasi perintah SQL untuk mengubah data yang ada dalam database, seperti mengubah saldo akun, menghapus catatan, atau memodifikasi informasi pengguna.
  3. Eksekusi Perintah Berbahaya : Penyerang dapat menjalankan perintah SQL berbahaya seperti DROP TABLE untuk menghapus tabel, atau melakukan tindakan merusak lainnya terhadap database.
Cara untuk melindungi aplikasi web dari serangan SQL Injection antara lain:
  • Gunakan parameterized queries atau prepared statements saat berinteraksi dengan database.
  • Validasi input pengguna secara ketat dan hindari menerima input yang tidak terduga.
  • Gunakan teknik pengamanan seperti pembatasan hak akses, enkripsi data sensitif, dan monitoring aktivitas yang mencurigakan.
Dengan menggunakan SQL Injection, penyerang dapat melakukan berbagai aksi berbahaya, seperti mencuri informasi sensitif, mengakses akun pengguna, merusak data, atau bahkan mengambil alih kendali atas sistem yang terhubung dengan basis data. Contoh sederhana SQL Injection adalah ketika seorang penyerang memasukkan input berbahaya seperti ' ' OR 1=1 --` dalam sebuah formulir login yang kemudian dieksekusi tanpa validasi yang memadai. Perintah SQL yang disisipkan, dalam contoh ini, akan membuat kondisi yang selalu benar (`1=1`), sehingga mengakibatkan aplikasi mengabaikan validasi login dan mengizinkan akses tanpa otentikasi yang benar.

SQL Injection merupakan salah satu ancaman keamanan yang serius bagi aplikasi web yang berinteraksi dengan basis data. Oleh karena itu, sangat penting untuk melindungi aplikasi dari serangan SQL Injection dengan menerapkan praktik-praktik keamanan seperti validasi input, penggunaan parameterized queries, dan pemantauan keamanan secara teratur. Penting untuk memahami dan melindungi aplikasi web dari serangan SQL Injection dengan menggunakan praktik-praktik pengamanan yang tepat, seperti menghindari penggunaan input langsung dalam perintah SQL, menggunakan parameterized queries atau prepared statements, serta melakukan validasi input dengan ketat.

Penting untuk diingat bahwa SQL Injection merupakan ancaman serius bagi keamanan aplikasi web dan database. Oleh karena itu, pengembang dan administrator sistem perlu memahami teknik ini dan menerapkan langkah-langkah pengamanan yang sesuai untuk melindungi sistem mereka.

Contoh Jenis SQL Injection :

  1. In - Bad SQL Injection : Teknik yang paling umum dan mudah digunakan dan dimanfaatkan untuk mengeksploitasi web tersebut.
  2. Inferential SQL Injection : Sebuah teknik eksploitasi yang membutuhkan waktu pada sebuah server untuk melakukan eksploitasi dalam mengakses database dalam memperoleh mencari struktur informasi tentang database.
  3. Out - of Band SQL Injection : Sebuah eksploitasi yang digunakan diaplikasi web dan diaktifkan oleh server database untuk membuat request DNS atau HTTP untuk mengirimkan data.

Dampak SQL Injection

  • Mengambil alih pada sebuah web server (host) melalui database (username / email, password). 
  • Seseorang dapat mencuri informasi data - data penting dari pengguna lain. 
  • Seseorang dapat merubah, menghapus, maupun menambahkan data " yang ada di dalam database. 
  • Seseorang dapat mengakses administrator halaman website, tanpa menggunakan username dan password yang valid.
Rizki M Farhan
Rizki M Farhan Saya adalah seorang penulis konten artikel untuk belajar yang membahas Teknologi Layanan Pendidikan Internet.