HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Ketahui Bahaya SQL Injection Demi Keamanan Data

Beberapa bulan terakhir ini kita dikejutkan dengan adanya hacker yang mendapatkan data dari pejabat negara. Tentu saja hal ini menjadi ancaman yang cukup serius terhadap keamanan sebuah website. Perkembangan teknologi juga berbanding lurus dengan pertumbuhan kejahatan. Penjahat selalu mencari celah yang bisa dimanfaatkan untuk mendapatkan keuntungan.

SQL Injection merupakan jenis kejahatan baru akibat perkembangan teknologi digital. SQL injection bahkan masuk dalam kategori cybercrime, yaitu tindakan ilegal yang dilakukan seseorang untuk mencuri data. Serangan injeksi SQL ini dapat mencakup pencurian dan manipulasi database. Bayangkan jika database yang diretas itu adalah database aplikasi keuangan yang kita gunakan, tentu tidak akan sulit untuk mendapatkan email, password, dan data pribadi lainnya. Sangat berbahaya bukan?

Definisi SQL Injection

SQL Injection adalah teknik peretasan yang menyalahgunakan celah keamanan di lapisan SQL berbasis data aplikasi. Kesenjangan terbentuk karena input yang tidak tersaring dengan baik selama produksi, sehingga menimbulkan kesenjangan yang dapat disalahgunakan.

Biasanya hacker menggunakan perintah atau query SQL dengan tools tertentu untuk mengakses database. Injeksi kode dilakukan memungkinkan mereka untuk login tanpa proses otentikasi. Setelah upayanya berhasil, peretas bebas menambah, menghapus, dan mengubah data di situs web.Dalam banyak kasus, ini menyebabkan perubahan terus-menerus pada konten atau perilaku aplikasi. Kemudian SQL Injection juga dapat dilakukan dengan mengubah logika aplikasi dengan memodifikasi query untuk mengacaukan logika aplikasi seperti serangan UNION yang memungkinkan untuk mendapatkan data dari tabel database yang berbeda.

SQL Injection dapat menyerang berbagai jenis website yang menggunakan database SQL, seperti MySQL, Oracle, SQL Server dan lain-lain. Secara umum, serangan SQL Injection terjadi ketika administrator situs tidak menerapkan firewall atau sistem keamanan yang memadai. Hal ini sering kali memungkinkan penyerang melihat data yang biasanya tidak dapat mereka pulihkan. Ini dapat mencakup data milik pengguna lain atau data lain apa pun yang dapat diakses oleh aplikasi itu sendiri. 

Jenis SQL Injection

Jenis SQL Injection berdasarkan cara mengakses data backend dan seberapa besar potensi kerusakan yang ditimbulkannya, ada 3 jenis, yaitu:

1. In-band SQL Injection

In-band SQL Injection adalah jenis serangan yang paling umum. Dengan jenis serangan SQL ini, penyerang menggunakan saluran komunikasi yang sama untuk menyerang dan mengumpulkan data. Teknik ini memiliki dua jenis serangan yaitu error-based SQL injection dan union-based SQL injection. Dengan menggunakan teknik teknik error-based SQL injection, penyerang memperoleh informasi tentang struktur database ketika mereka menggunakan perintah SQL untuk menghasilkan pesan kesalahan dari server database. Sedangkan union-based SQL injection digunakan oleh penyerang untuk menggabungkan pernyataan pilihan ganda dan mengembalikan respons HTTP. Seorang penyerang dapat menggunakan teknik ini untuk mengekstrak informasi dari database.

2. Inferential SQL Injection

Inferential SQL injection atau dikenal juga dengan blind SQL injection karena database situs web tidak mengirimkan data ke penyerang seperti injeksi SQL in-band, namun penyerang dapat mempelajari struktur server dengan mengirimkan muatan data dan observasi respons. Inferential SQL injection kurang umum dibandingkan in-band SQL injection karena memerlukan waktu lebih lama.. Injeksi SQL inferensial dapat dibagi menjadi dua subtipe: 
  • Time-based SQL Injection: Penyerang mengirimkan kueri SQL ke database dan menyebabkan database menunggu beberapa detik sebelum memberikan respons terhadap kueri tersebut sebagai benar atau salah.
  • Boolean SQL Injection: Penyerang mengirimkan kueri SQL ke database dan mengamati respons dari aplikasi yang memberikan hasil benar atau salah.

3. Out-of-band Sql Injection

Out-of-band SQL injectionadalah jenis serangan yang paling jarang terjadi. Dengan jenis serangan SQL injection ini, penyerang menggunakan saluran komunikasi berbeda untuk menyerang dan mengumpulkan hasil. Penyerang menggunakan metode ini jika server terlalu lambat atau tidak stabil untuk menggunakan jenis serangan SQL injection lainnya.

Alur SQL Injection

Proses serangan SQL injection dapat dibagi menjadi beberapa tahapan, antara lain:

  • Peretas akan mencari celah keamanan di database. Biasanya celah keamanan terhadap SQL injection terdapat pada form login.Saat pengguna masuk, situs mengautentikasi dengan permintaan.
  • Jika terjadi serangan SQL injection, hacker dapat login tanpa menggunakan password menggunakan SQL Comment Sequence dengan tanda minus ganda (–). Jadi query nya juga akan berubah.
  • Validasi SQL query digunakan. Query yang digunakan oleh hacker akan diurutkan oleh database. Oleh karena itu, sistem akan mengizinkan peretas ini untuk login dengan pengguna tanpa memverifikasi kata sandi.
  • Akses basis data berhasil. Jika Anda sudah mencapai langkah ini, berarti peretas telah memperoleh akses ke situs web tanpa verifikasi. Kini para hacker bahkan bisa menjadikan dirinya sebagai administrator sehingga bisa dengan mudah mengakses seluruh data yang ada bahkan melakukan perubahan terhadapnya.

Alasan Harus Waspada dengan SQL Injection

Setelah melihat alur kerja serangan SQL injection, kita juga perlu melihat beberapa alasan mengapa SQL injection dinilai sangat berbahaya, antara lain:

  • Verifikasi koneksi dapat dengan mudah disusupi. Peretas dapat mengakses situs web atau aplikasi tanpa nama pengguna dan kata sandi yang valid.
  • Privasi pengguna situs web atau aplikasi mungkin terancam.
  • Data dari suatu website atau aplikasi dapat dengan mudah dicuri.
  • Database dimodifikasi
  • Data basis data historis mungkin dihapus. Jika hacker telah mengubah dirinya menjadi admin maka ia dapat menghapus semua data historis dari database karena tidak ingin terdeteksi.
  • OS Command Execution dan pembobolan Firewall

Pencegahan yang Bisa Dilakukan

Kita tentu perlu mencegah serangan SQL Injection yang bisa terjadi kapan saja. Berikut beberapa cara yang dapat digunakan:
  • Atur format pengisian. Misalnya kita bisa mengisi form dengan tipe data tertentu, selain itu kita bisa membatasi jumlah maksimal karakter yang bisa dimasukkan. Misalnya pola nama hanya boleh menggunakan huruf dan dibatasi 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)
  • Gunakan parameterized SQL query. Tujuannya adalah untuk membedakan antara SQL query dan data yang dimasukkan pengguna.
  • Gunakan SQL Escape String, dimana kita akan menggunakan serangkaian kode yang menambahkan karakter escape atau mengganti karakter yang dianggap berbahaya dengan karakter lain.
  • Matikan notifikasi error. Fitur ini dapat dimanfaatkan oleh para hacker untuk mencari celah pada website yang kita miliki.
  • Menggunakan WAF (Web Application Firewall) dan IPS (Intrusion Prevention System)
Kejahatan bisa terjadi dimana saja, bahkan di dunia digital sekalipun. Segala sesuatu yang melibatkan data pelanggan harus dilindungi. Serangan SQL Injection bukan satu-satunya kejahatan yang akan kita hadapi karena banyak penjahat dunia maya yang mengancam situs web atau aplikasi kita.Oleh karena itu, kita harus tetap waspada dan terus meningkatkan keamanan situs internet. Namun sebelum melanjutkan ke tingkat lanjutan, Anda harus mengetahui dasar-dasar SQL.
5/5 - (1 vote)
Anisa Sifa

Recent Posts

Beberapa Penyebab yang Mempengaruhi Terjadinya Pemutusan Hubungan Kerja (PHK)

PHK (Pemutusan Hubungan Kerja) Pemutusan Hubungan Kerja (PHK) tidak boleh dilakukan secara sembarangan dan sepihak…

7 hours ago

Pengertian dan Fungsi NIC, Repeater, Hub, Switch, Router, dan Bridge

Penjelasan Dan Fungsi Dari NIC, Repeater, Hub, Switch, Router, Dan Bridge NIC ( Network Interface…

11 hours ago

Tentukan Strategi Penetapan Harga Terbaik Dengan Langkah Ini

Pricing strategy, atau sering disebut strategi harga terkadang menjadi masalah bagi pengusaha. Jika Anda menetapkan harga…

12 hours ago

Meta Tag Description Dalam SEO Untuk Mengoptimalkan Situs/Blog Agar Ada Diperingkat Teratas hasil pencarian

Meta Tag Description Mendapatkan website Anda muncul di hasil pencarian halaman pertama memang sangat menantang,…

13 hours ago

Cara Membuat Laporan Magang Dengan Mudah & Terstruktur Dengan Baik

Membuat Laporan Magang Istilah magang sering kali dikaitkan dengan mahasiswa yang berada di tahun terakhir…

2 days ago

Jam Operasional JNE, TIKI, JNT, POS INDONESIA, dll di Indonesia

Mengenal Perusahaan Pengiriman Barang Di Indonesia Tentunya, saat ini hampir semua orang telah berpengalaman dalam…

2 days ago