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

Mengenal 3 Tipe SQL Injection yang Sering Ditemui

Belajar Data Science di Rumah 14-Desember-2022
https://dqlab.id/files/dqlab/cache/c6060f2fe8ffbfcba15c18be4fde127e_x_Thumbnail800.jpeg

SQL Injection juga dikenal sebagai SQLI merupakan bentuk serangan umum yang menggunakan kode SQL berbahaya. Nantinya kode ini akan digunakan untuk manipulasi basis data backend untuk mengakses informasi rahasia yang sebenarnya tidak ditampilkan. Informasi ini dapat mencakup beberapa hal, termasuk data-data sensitif yang ada di perusahaan, daftar pengguna, atau detail pelanggan pribadi.


Parahnya, SQL Injection dapat memberikan dampak yang cukup parah pada bisnis. Serangan yang berhasil dilakukan dapat mengakibatkan tampilan daftar pengguna yang tidak sah, penghapusan seluruh tabel, bahkan dalam kasus tertentu, penyerang mendapatkan hak administratif ke database yang artinya bisa mengakses segala hal, dimana semuanya sangat merugikan bisnis. 


SQL Injection setidaknya bisa dibagi menjadi 3 tipe, yaitu In-band SQLi (Classic), Inferential SQLi (Blind) and Out-of-band SQLi. Dalam artikel ini kita akan membahas tipe-tipe SQL Injection tersebut. Yuk, simak pembahasannya!


1.In-band SQLi

SQL


SQL Injection tipe ini bisa dilihat dari penyerang yang menggunakan saluran komunikasi yang sama untuk meluncurkan serangan mereka dan mengumpulkan hasilnya. SQL Injection tipe ini menjadi salah satu jenis serangan yang paling umum karena kesederhanaan caranya serta efisiensinya. Kita bisa membagi metode ini menjadi dua varian, yaitu:

  • Error based SQLi, dimana penyerang melakukan tindakan yang menyebabkan database menghasilkan error. Penyerang diduga menggunakan data yang disediakan oleh pesan kesalahan ini untuk mengumpulkan informasi tentang struktur database.

  • SQLi based Union, teknik ini memanfaatkan operator UNION SQL, yang menggabungkan beberapa statement pilihan yang dihasilkan oleh database untuk mendapatkan respons HTTP tunggal. Respons ini mungkin berisi data yang dapat dimanfaatkan oleh penyerang.


Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula


2.Inferensial SQLi

SQL


Tipe SQLi selanjutnya adalah inferensial SQLi, dimana penyerang mengirimkan muatan data ke server dan mengamati respons dan perilaku server untuk mempelajari lebih lanjut tentang strukturnya. Metode ini disebut SQLi blind karena data tidak ditransfer dari database situs web ke penyerang, sehingga penyerang tidak dapat melihat informasi tentang in-band serangan.


Blind SQL Injection ini sangat bergantung pada respon dan pola perilaku server sehingga biasanya lebih lambat untuk dieksekusi tetapi mungkin sama berbahayanya. Blind SQL Injection dapat dibagi menjadi beberapa kelompok, diantaranya adalah:

  • Boolean, dimana penyerang akan mengirimkan query SQL ke database yang digunakan agar aplikasi bisa menampilkan hasilnya. Hasilnya akan bervariasi tergantung pada apakah query itu benar atau salah yang bisa dilihat dari respons HTTP apakah akan berubah atau tetap sama. Dari hal inilah penyerang bisa mengetahui apakah pesan tersebut menghasilkan hasil yang benar atau salah.

  • Time based, dimana penyerang mengirimkan query SQL ke database, yang membuat database menunggu selama beberapa detik sebelum dapat bereaksi. Penyerang dapat melihat dari waktu yang dibutuhkan database untuk merespons, apakah query itu benar atau salah. Berdasarkan hasil tersebut, respons HTTP akan dihasilkan secara instan atau setelah masa tunggu. Dengan demikian, penyerang dapat berhasil jika pesan yang mereka gunakan dikembalikan benar atau salah, tanpa bergantung pada data dari database.


3.Out-of-Band SQLi

SQL


Penyerang hanya dapat melakukan bentuk serangan ini ketika fitur tertentu diaktifkan pada server database yang digunakan oleh aplikasi web. Bentuk serangan ini digunakan sebagai alternatif jika dua tipe sebelumnya yaitu SQLi in-band dan inferensial tidak bisa digunakan. Out-of-band SQLi dilakukan saat penyerang tidak dapat menggunakan saluran yang sama untuk meluncurkan serangan dan mengumpulkan informasi, atau saat server terlalu lambat atau tidak stabil untuk melakukan tindakan ini. Teknik ini mengandalkan kapasitas server untuk membuat permintaan DNS atau HTTP untuk mentransfer data ke penyerang.


4.Pencegahan yang Bisa Dilakukan

SQL


SQL Injection ini merupakan hal yang sangat berbahaya dan kita harus melakukan pencegahan dari SQL Injection yang bisa datang kapan saja. Beberapa cara berikut bisa digunakan untuk mencegah terjadinya SQLi:

  • Mengatur format pengisian. Misalkan hanya bisa diisi dengan tipe data tertentu, selain itu kita bisa melakukan pembatasan karakter maksimal yang bisa dimasukkan. 

  • Validasi input data. Input data terbagi menjadi 2 jenis, yaitu whitelisting (menyaring data dengan menerima inputan data yang sudah pasti aman), dan blacklistening (menolak input data yang diketahui berbahaya, seperti penggunaan karakter tertentu).

  • Menggunakan parameterized SQL query. Tujuannya adalah untuk membedakan antara SQL query dengan data input pengguna.

  • Menggunakan SQL Escape String, dimana kita akan menggunakan rangkaian kode yang berfungsi untuk menambahkan karakter escape atau mengubah karakter yang dianggap berbahaya menjadi karakter lainnya.

  • Mematikan notifikasi error. Fitur ini dapat dimanfaatkan oleh hacker untuk mencari celah dari website yang kita miliki.

  • Menggunakan WAF (Web Application Firewall) dan IPS (Intrusion Prevention System).


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


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 hal-hal yang bersifat fundamental dari SQL loh.


Eits, kamu gak perlu bingung harus belajar SQL dimana karena DQLab juga menyediakan modul SQL yang sangat cocok bagi pemula karena membahas hal-hal yang bersifat fundamental. Agar bisa mengaksesnya, kamu cukup berlangganan untuk menjadi member premium di DQLab


Yuk, tunggu apa lagi? Sekarang giliran mu!

Penulis: Gifa Delyani Nursyafitri



Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login