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

Apa itu SQL Injection? Ini Fakta & Cara Menanganinya

Belajar Data Science di Rumah 12-Maret-2024
https://dqlab.id/files/dqlab/cache/longtail-selasa-06-2024-03-13-154558_x_Thumbnail800.jpg

SQL Injection merupakan salah satu risiko aplikasi/situs web yang paling sering ditemukan. Berdasarkan laporan keamanan aplikasi yang dikeluarkan oleh Veracode,32% dari aplikasi web paling tidak memiliki satu kerentanan SQL Injection. Berdasarkan Open Web Application Security Project (OWASP), injection juga merupakan merupakan ancaman nomor satu terhadap keamanan aplikasi web. 


Sebagai tambahan, berdasarkan laporan kerentanan dari komunitas yang diperoleh Badan Siber dan Sandi Negara (BSSN) melalui Voluntary Vulnerability Disclosure Program(VVDP), dari bulan Januari s.d. April 2019, 73% dari laporan kerentanan yang diterima merupakan kerentanan SQL Injection.


Serangan SQL injection ini dapat mencakup pencurian serta manipulasi pada database. Bayangkan jika database yang dibobol adalah database dari aplikasi finansial yang kita gunakan, tentu bukan masalah yang sulit untuk mendapatkan email, password, dan data pribadi lainnya. Sangat berbahaya bukan? Apa sebenarnya SQL injection itu? Apakah Sahabat DQ bisa mencegahnya melihat betapa berbahayanya hal ini? 


Nah, pada artikel ini akan dibahas lebih detail SQL injection. Sekaligus juga akan diberikan tips untuk mencegahnya.


1. Mengenal SQL Injection

SQL

SQL injection adalah salah satu bentuk dari cyber crime atau tindakan kejahatan di dunia digital. Hal ini semakin sering terjadi karena semakin pesatnya perkembangan teknologi. Aktivitas SQL injection diantaranya adalah pencurian dan manipulasi database berupa data pribadi bahkan dapat juga berupa aset finansial. SQL injection melakukan langkah injeksi kode terhadap suatu celah pada keamanan database yang dimiliki oleh suatu website atau aplikasi. 


SQL injection dilakukan dengan memodifikasi perintah SQL pada suatu form input aplikasi sehingga pelaku dapat mengirimkan suatu sintaks ke database. Hal ini membuat pelaku dapat melihat data yang sebelumnya tidak dapat ia akses. Dalam beberapa kasus, pelaku dapat memodifikasi atau menghapus data tersebut sehingga nantinya akan ada perubahan pada konten atau aplikasi.


Baca juga : Bootcamp Data Analyst with SQL and Python


2. Cara Kerja SQL Injection

Berikut akan dijelaskan lebih detail bagaimana cara kerja hacker melakukan SQL injection.

  • Pelaku mencari celah keamanan database terlebih dahulu. Umumnya celah yang sering ditemukan terdapat pada form login. Selanjutnya SQL injection dilakukan dengan input kode melalui form tersebut. Query SQL akan diproses database sebagai sebuah perintah. Jika query tersebut terdeteksi sebagai login user, maka proses login telah berhasil dilakukan.

  • Proses validasi query SQL. Database akan melakukan proses validasi. Dengan SQL injection, login dari user tanpa harus tahu passwordnya sangat mudah dilakukan. Jika proses validasi sukses, maka pelaku dengan mudah dapat masuk ke halaman website.

  • Pelaku mengendalikan database. Karena pelaku sudah dapat masuk ke website atau aplikasi, maka pelaku dapat mengendalikan isi database. Pelaku sepenuhnya sebagai administrator pada website dapat melakukan modifikasi atau bahkan menghapus data yang ada. 


3. Dampak Negatif SQL Injection

SQL

Aktivitas SQL injection adalah tindakan kejahatan. Jelas ini akan memberikan dampak negatif terutama bagi perusahaan pemilik database dan pengguna yang memiliki data pribadi tersebut. Berikut sejumlah dampak negatif dari SQL injection.

  • Mengancam privasi pengguna. Karena pelaku dapat dengan mudah menembus verifikasi login, maka pelaku dapat mengakses database website. Ini tentu akan mengancam data pribadi pengguna. 

  • Data website dicuri dan dimodifikasi. Pelaku mendapatkan akses database yang tentunya memudahkannya untuk melakukan modifikasi pada database. Lebih parahnya, SQL injection akan memudahkan pelaku untuk mencuri data-data pribadi tersebut. Ini akan berbahaya bagi website transaksi keuangan karena bisa saja menyerang data finansial nasabah.

  • OS command execution dan menembus firewall. Apabila SQL injection berhasil menyerang akses masuk ke OS, maka pelaku tersebut dikatakan menggunakan OS Command Execution untuk melakukan serangan pada jaringan internal yang terdapat pada firewall. SQL injection adalah ancaman berbahaya yang tidak hanya menyerang secara tunggal, tetapi juga membuka peluang terjadinya serangan berbahaya lainnya.


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


4. Cara Mengatasi SQL Injection

Ada beberapa hal yang bisa dilakukan untuk mengatasi SQL injection. Hal ini penting untuk diperhatikan oleh developer. Berikut cara mengatasi SQL injection.

  • Mengatur format kotak pengisian. Contohnya misal dengan mengatur form nama lengkap agar dapat diisi dengan menggunakan huruf saja. Atau cara lainnya yaitu membatasi banyaknya karakter di dalam form pengisian. Pembatasan yang dilakukan di sini bisa meminimalisir adanya risiko kode injeksi SQL dalam form pengisian website milikmu.

  • Melakukan validasi data. Validasi data di sini terbagi menjadi dua metode, yaitu blacklisting dan whitelisting. Blacklisting adalah metode atau cara mengatasi SQL injection dengan menolak masuknya input data yang telah diketahui berbahaya dan buruk. whitelisting adalah kebalikan dari blacklisting yang merupakan metode atau cara dalam menyaring data yang hanya menerima input data yang sudah pasti aman.

  • Menggunakan parameterized SQL query. Metode ini berfungsi agar para pengguna tahu bagaimana cara membedakan data input dari pengguna dengan SQL query.

  • Memanfaatkan SQL escape string. Maksudnya yaitu gabungan kode yang berguna dalam penambahan karakter escape, dengan mengubah satu jenis karakter yang diprediksi berbahaya (‘) diubah ke karakter lain (’).

  • Menonaktifkan notifikasi error. Fitur notifikasi error pada SQL injection adalah fitur yang bisa disalahgunakan oleh para hacker di luar sana. Dari error yang muncul, hacker bisa mengambil celah keamanan dari suatu website.

  • Mengaplikasikan WAF dan IPS. Memasang Web Application Firewall (WAF) berguna untuk menyaring kemungkinan terjadinya serangan oleh SQL injection maupun serangan dari siber lainnya. Sedangkan Intrusion Prevention System (IPS) berguna untuk memantau traffic yang ada di jaringan dan OS. IPS juga berguna untuk mendeteksi data-data yang beredar dan akan memilih data mana yang berbahaya melalui track recordnya. 


Kejahatan bisa terjadi dimana saja, bahkan di dunia digital sekalipun. Segala sesuatu yang berhubungan dengan data customer memang sudah selayaknya untuk dilindungi. Serangan SQL Injection bukanlah satu-satunya kejahatan yang akan kita temui, karena ada banyak sekali kejahatan siber yang mengancam website atau aplikasi yang kita miliki. Sehingga kita harus terus waspada dan terus meningkatkan keamanan website.


Namun sebelum masuk ke tingkat advance tersebut, ada baiknya belajar hal-hal yang bersifat fundamental dari SQL. Bingung mulai belajar darimana? DQLab adalah jawabannya. Modul ajarnya lengkap dan bervariasi. Dilengkapi studi kasus yang membantu kalian belajar memecahkan masalah dari berbagai industri. Bahkan diintegrasikan dengan ChatGPT. Manfaatnya apa?

  • Membantu kalian menjelaskan lebih detail code yang sedang dipelajari

  • Membantu menemukan code yang salah atau tidak sesuai

  • Memberikan solusi atas problem yang dihadapi pada code

  • Membantu kalian belajar kapanpun dan dimanapun


Selain itu, DQLab juga menggunakan metode HERO yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Tunggu apa lagi, segera Sign Up dan asah kemampuan kalian dalam menggunakan SQL! 


Penulis : Dita Feby 

Editor : Annissa Widya  

Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login