PROMO PUNCAK LEBARAN DISKON 99%
Belajar Data Science 6 Bulan BERSERTIFIKAT hanya Rp 99K!

0 Hari 3 Jam 47 Menit 20 Detik

Hacks SQL Injection & Tips Ampuh untuk Menangkalnya

Belajar Data Science di Rumah 22-November-2022
https://dqlab.id/files/dqlab/cache/f7479731d909a46b06e8029165f3c1f0_x_Thumbnail800.jpg

Kejahatan di dunia maya belakangan ini semakin meningkat sejalan dengan adanya hacker Bjorka yang sempat menggemparkan jagad media sosial. Banyaknya layanan bisnis yang mulai bermunculan berupa toko online berbasis web membuat keamanan menjadi ancaman yang perlu diwaspadai. Dari sekian banyak kejahatan dunia maya terkait kurangnya pengamanan data dan cybercrime, SQL Injection adalah salah satu diantaranya. SQL Injection adalah salah satu bentuk ancaman yang seringkali ditemukan dalam aplikasi website. Jenis serangan ini menimbulkan banyak kerugian akibat rusaknya database situs website.


Menurut penelitian OWASP, salah satu organisasi yang bergerak di bidang keamanan software menjelaskan bahwa SQL Injection masuk dalam urutan ketiga risiko keamanan terbesar pada aplikasi website. SQL Injection biasanya menggunakan form yang terdapat di dalam website yang tidak dilindungi dengan script khusus. Melihat keberadaan serangan ini yang jika dibiarkan lama-lama juga akan meresahkan bagi pengguna database. So, pastinya sahabat DQLab pastinya penasaran kan kira-kira apa sih SQL Injection itu dan bagaimana cara menangalnya? 


1. Apa Yang Dimaksud SQL Injection

Sebelum kita bahas lebih lanjut, kita kulik apa sih yang dimaksud dengan SQL Injection? SQL Injection adalah salah satu teknik peretasan dengan cara menyalahgunakan celah keamanan yang ada di lapisan SQL berbasis data suatu aplikasi. Celah ini dapat terjadi akibat adanya input data user yang tidak melakukan filter dengan benar dan dalam pembuatannya memakai form yang salah. 

SQL


Ancaman cybercrime berupa SQL Injection ini bisa terjadi karena adanya input yang tidak difilter dengan benar dalam pembuatannya sehingga terciptalah celah hacker yang bisa dikendalikan hingga disalahgunakan. SQL Injection dilakukan dengan memodifikasi perintah SQL pada form input aplikasi sehingga pelaku bisa mengirimkan sintaks ke database aplikasi. 


Banyak yang mengatakan bahwa teknik SQL Injection merupakan teknik favorit andalannya para hacker untuk melakukan peretasan pada sebuah website. Contoh gampang dari SQL Injection adalah ketika kalian melakukan aktivitas login di suatu website. Misalnya kalian mengetikkan pada kolom username beserta password dimana pada kolom username harusnya diisi dengan menggunakan karakter tapi justru form tersebut bisa diisi dengan karakter lain. Sehingga peretas bisa dengan mudah untuk melakukan pembobolan hanya dengan menyematkan karakter seperti (:;-,=’). Hanya bermodalkan query SQL Injection amblas sudah website tersebut berhasil ditilap hacker.


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


2. Cara Kerja SQL Injection

Seperti yang sudah dijelaskan diatas, SQL Injection ini langkahnya cukup sederhana loh sahabat DQLab. Injeksi SQL dapat terjadi karena ada celah keamanan. Celah ini terbentuk akibat para developer tidak mengaktifkan filter untuk meta karakter pada form input di aplikasi, sehingga hacker akhirnya bisa menggunakannya untuk menulis command SQL di form login/input. 


Para hacker dengan mudahnya bisa memasukkan berbagai jenis karakter kontrol SQL serta kata kunci perintah lainnya. Misalnya tanda kutip (‘), komentar (- -), sama dengan (=), tanda kutip ganda (“) dan lain sebagainya.


SQL


Untuk dapat merubah struktur query, memakai karakter kontrol itu dengan perintah SQL umum seperti Delete, From, Select dan lain sebagainya. Dengan demikian hacker mengakses elemen data dari sebuah server database backend. Jika berhasil biasanya hacker memerlukan aplikasi web untuk menyematkan kode berbahaya dari penyerangan dalam pernyataan SQL. Penyerang bisa mengakses atau merubah database. Namun hal ini tergantung bagaimana hacker membuat data yang berbahaya.


3. Contoh SQL Injection

Berikut ini adalah contoh SQL Injection sederhana. Diasumsikan ada sebuah URL seperti di bawah ini.

SQL

SQL Query dari halaman diatas normalnya adalah seperti ini:

SQL

Karena input dari category tadi tidak disanitasi maka ada celah SQL Injection. Sehingga penyerang dapat memasukkan query lain yang tidak dimaksudkan untuk dijalankan.

SQL

Akan menghasilkan SQL Query sebagai berikut

SQL

Injeksi yang dimasukkan adalah ' OR 1=1 # sehingga selalu menghasilkan nilai true dan semua produk akan ditampilkan. 


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


4. Tips Ampuh Menangkal SQL Injection

Ada beberapa cara yang dilakukan untuk menangkal SQL Injection. Berikut adalah cara-caranya:

Query SQL

Untuk melindungi QUERY SQL terkait adanya serangan SQL Injection, kita dapat menggunakan teknik sanitasi yaitu mengosongkan seluruh inputan yang diterima dari request object ASP. Teknik sanitasi ini sangat berguna untuk penggunaan RDBMS (Relational Database Management System). 


SQL


Pesan Error

Cara kedua adalah pesan error. Dengan cara mematikan atau merubah dan mengganti pesan error maka dapat mencegah attacker untuk menelusuri jalur database.


Panjang Input Box

Panjang input box yang dibatasi akan membuat hacker pemula menjadi bingung terhadap penggunaan code inject yang tidak berfungsi di input box dikarenakan code yang panjang. 


Pisahkan Database Username dengan Password

Cara terakhir untuk mengatasi serangan SQL Injection pada aplikasi adalah memisahkan antara database username dan password. Dengan memisahkan kedua data ini maka pelaku penyerangan membutuhkan usaha dan percobaan lebih keras karena harus memahami struktur database aplikasi. Hal ini juga berguna untuk mengantisipasi apabila ada 1 database yang terekspose maka database-database lainnya dapat terlindungi.


SQL injection adalah bentuk serangan siber pada aplikasi web dengan menyalahgunakan celah keamanan lapisan database. Sekarang kamu sudah mengetahui apa itu SQL injection, bagaimana serangan siber ini bekerja dan beberapa tips cara mencegah injeksi SQL pada aplikasimu. Mengingat semakin berkembangnya ancaman kejahatan siber, meningkatkan keamanan website dan aplikasi adalah hal yang penting. Namun sebelum masuk ke tingkat advance tersebut, ada baiknya hal-hal yang bersifat fundamental dari SQL loh.


Kamu bisa mulai belajar SQL mulai dari dasar lho, karena DQLab juga menyediakan modul SQL yang sangat cocok bagi pemula karena membahas hal-hal yang bersifat fundamental. Agar bisa mengaksesnya, kamu cukup isi form dibawah ini atau signup di DQLab


Selamat belajar SQL Sahabat DQ!

Penulis: Reyvan Maulid


Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login