Buat Akun DQLab & Akses Kelas Data Science Python, R, SQL, Excel GRATIS

Fakta Seputar SQL Injection & Cara Atasinya

Belajar Data Science di Rumah 10-Januari-2023
https://dqlab.id/files/dqlab/cache/17892eed652e579f1444a2babe1ec318_x_Thumbnail800.jpeg

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. Apa Itu 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 : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula


2. Cara Kerja SQL Injection

SQL

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

SQL

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. Nah, DQLab menjadi solusi atas keresahan Sahabat DQ. Kalian bisa belajar mengasah kemampuan SQL melalui modul pembelajaran di website DQLab. Modul ini sangat cocok untuk pemula yang belum memiliki pemahaman terhadap SQL atau bukan dari background IT. Agar bisa mengaksesnya, kalian cukup berlangganan untuk menjadi member premium di DQLab. Segera Sign Up di website dan nikmati kemudahan belajar meski untuk pemula!


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