HARI TERAKHIR PROMO SPESIAL 12.12
Belajar Data Science Bersertifikat, 6 Bulan hanya 120K!
0 Hari 3 Jam 9 Menit 21 Detik

Kenali SQL Injection dan Pencegahannya Sebelum Terlambat

Belajar Data Science di Rumah 19-Oktober-2022
https://dqlab.id/files/dqlab/cache/2c2371c5eec5c2840247295174127879_x_Thumbnail800.jpg
Follow Instagram dan LinkedIn kami untuk info karir dan topik menarik

SQL Injection merupakan salah satu jenis kejahatan baru karena perkembangan teknologi digital. SQL Injection ini bahkan masuk ke dalam kategori cybercrime, yaitu aksi ilegal yang dilakukan oleh seseorang untuk melakukan pencurian data.


Beberapa bulan terakhir, kita sempat digemparkan dengan adanya hacker yang berhasil mendapatkan data para pejabat publik. Tentu hal ini menjadi ancaman yang cukup serius terhadap keamanan sebuah website.


Semakin berkembangnya teknologi ternyata juga berbanding lurus dengan perkembangan kejahatan. Para penjahat terus mencari celah yang bisa dimanfaatkan untuk mendapatkan keuntungan.


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? 


Namun sebenarnya apa sih SQL Injection tersebut? Dalam artikel ini akan dibahas mengenai SQL Injection. Yuk, simak pembahasannya!


1. Apa Itu SQL Injection?

sql

Picture Source: Wallaram


SQL Injection (SQLi) merupakan jenis serangan injeksi yang memungkinkan untuk mengeksekusi statement SQL yang berbahaya. Statement yang digunakan ini dapat mengontrol server database di belakang aplikasi web.


Hacker dapat melakukan otentikasi dan otorisasi halaman web atau aplikasi web dan mengambil konten dari seluruh database SQL. Mereka juga dapat menggunakan SQL Injection untuk menambah, mengubah, dan menghapus catatan dalam database.


Serangan SQL Injection ini dapat menarget semua website yang memanfaatkan SQL database, seperti MySQL, PostgreSQL, SQL Server, dan lainnya.


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


2. Alur SQL Injection

SQL

Picture Source: Spanning


Alur dari serangan SQL injection dapat terbagi menjadi beberapa tahapan, diantaranya adalah:

  • Hacker akan mencari celah keamanan database. Biasanya celah keamanan terhadap SQL Injection terdapat pada form login. Misalkan seorang pengguna memiliki username andini dan passwordnya adalah andinicantik123. Ketika pengguna ini melakukan login, maka website akan melakukan validasi dengan query berikut:

    SELECT * FROM users WHEN
    username = ‘andini’ AND password =’andinicantik123’


    Jika terjadi serangan SQL Injection, maka hacker dapat melakukan login tanpa menggunakan password dengan memanfaatkan SQL Comment Sequence menggunakan simbol double minus (--). Sehingga query nya juga akan berubah menjadi:

    SELECT * FROM users WHEN
    username = ‘andini’--’ AND password = ’  ’


  • Validasi SQL query yang digunakan. Query yang digunakan oleh hacker akan membuat database melakukan validasi perintah. Sehingga sistem akan membiarkan hacker ini login sebagai andini tanpa mengecek password nya.


  • Database berhasil diakses.Jika sudah sampai pada tahap ini, berarti hacker berhasil masuk ke website tanpa verifikasi. Saat ini hacker bahkan bisa mengubah dirinya menjadi administrator, sehingga bisa dengan mudah mengakses semua data yang ada bahkan melakukan modifikasi. Wah, bukankah hal ini sangat berbahaya?


3. Mengapa Harus Waspada dengan SQL Injection?

SQL

Picture Source: Acunetix


Setelah melihat alur kerja serangan SQL Injection, kita juga harus melihat beberapa alasan mengapa SQL Injection ini disebut sangat berbahaya, diantaranya adalah:

  • Verifikasi login bisa ditembus dengan mudah. Hacker dapat masuk pada website maupun aplikasi tanpa memerlukan username dan password yang valid.

  • Privasi pengguna website atau aplikasi menjadi terancam.

  • Data website atau aplikasi dapat dicuri dengan mudah.

  • Database dimodifikasi

  • Riwayat data dari database bisa dihapus. Jika hacker sudah mengubah dirinya sebagai administrator, maka ia dapat menghapus semua history data pada database karena tidak ingin dirinya ketahuan.

  • OS Command Execution dan pembobolan Firewall


4. Pencegahan yang Bisa Dilakukan

SQL

Kita tentu harus mencegah terjadinya serangan SQL Injection yang bisa datang kapan saja. Beberapa cara yang bisa digunakan adalah:

  • Mengatur format pengisian. Misalkan kita bisa membuat agar form diisi dengan tipe data tertentu, selain itu kita bisa melakukan pembatasan karakter maksimal yang bisa dimasukkan. Contohnya form nama yang hanya boleh menggunakan huruf dan dibatasi hurufnya hanya 15 karakter.

  • 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 Belajar
SQL Sekarang
Bersama DQLab

Buat Akun Belajar & Mulai Langkah
Kecilmu Mengenal SQL

Buat Akun


Atau

Sudah punya akun? Login