• Home
  • Tips
  • SQL Injection Adalah Tindak Kejahatan, Ketahui Cara Mengatasinya!

SQL Injection Adalah Tindak Kejahatan, Ketahui Cara Mengatasinya!

Oleh Mila Rosyida

Kasus kejahatan dalam dunia maya atau cyber crime memang saat ini semakin meningkat.

SQL Injection adalah salah satu kejahatan yang marak dilakukan pada sebuah website dengan memanfaatkan sql query.

Sedikit penjelasan, SQL adalah bahasa terstruktur yang digunakan untuk mengakses data di dalam database.

Menurut penelitian, SQL Injection adalah kejahatan yang  menduduki peringkat ketiga dalam kasus kejahatan di dunia maya.

Serangan ini sangat berbahaya sebab bisa merusak data, melakukan pencurian data seperti password, email, data pribadi, bahkan aset finansial milikmu bisa menjadi sasarannya.

Namun, apakah kamu tahu apa itu SQL Injection? Bagaimana cara SQL Injection ini bisa dicegah? Simak terus yuk penjelasannya!

Apa itu SQL Injection?

SQL Injection adalah kejahatan yang memanfaatkan celah keamanan sebuah database yang digunakan oleh website atau aplikasi.

Umumnya, hacker akan menyisipkan beberapa perintah Sql menggunakan tools yang khusus digunakan untuk mengakses database.

Kejahatan ini bisa terjadi sebab pengguna database tidak memasang firewall, sistem keamanan, atau bahkan lupa untuk memasang filter pada inputan.

Contoh SQL Injection adalah penjagaan pada form login yang kurang, misalnya pada form username yang seharusnya hanya bisa diisi dengan karakter saja.

sql injection adalah
Sumber : envato

Namun pengembang website tidak memberikan batasan tersebut sehingga hacker bisa saja menyisipkan karakter spesial (;:”=) alhasil hacker bisa memasukkan query injection.

Jika hacker sudah berhasil maka dapat dipastikan websitemu akan diretas oleh hacker tersebut, bahkan mereka bisa dengan mudah untuk melakukan perubahan data hingga penghapusan data.

Serangan cyber crime ini bisa terjadi pada website atau aplikasi yang menggunakan database seperti MySQL, SQL Server, Oracle, dan beberapa database yang lain. Lalu bagaimana cara SQL Injection bekerja? Yuk bahas di poin selanjutnya.

Baca Juga : Apa itu SQL? 9 Rekomendasi Situs Belajar SQL

Bagaimana Cara SQL Injection Bekerja?

Cara SQL Injection ini bekerja melalui tiga tahapan singkat namun mematikan, berikut tahapannya.

Hacker mulai mengamati dan mengincar celah keamanan

Cara SQL Injection ini bekerja yang pertama yaitu hacker mengamati disisi mana celah keamanan sebuah website atau aplikasi.

Namun, biasanya celah keamanan tersebut berada pada form login yang seperti kita bahas pada bagian apa itu SQL Injection.

Sebagai contoh SQL Injection adalah pengguna menggunakan username ‘domainesia’ dan password ‘domainmurah’.

Ketika melakukan login maka otomatis sistem akan menjalankan query seperti berikut.

Jika memang hasil dari query tersebut berhasil maka proses login sudah berhasil, namun jika tidak berhasil otomatis proses login akan ditolak.

Nah jika seorang hacker yang akan meretas website atau aplikasi maka mereka bisa melakukan login tanpa password sebab menggunakan SQL Comment Sequence dengan memanfaatkan simbol minus (-). Dengan begitu maka query akan berubah menjadi.

Melakukan validasi terhadap sql query yang digunakan

Dari query sql tersebut database akan melakukan validasi. Alhasil maka database akan memberikan data informasi login dari username yang digunakan tadi tanpa membutuhkan password.

Jadi hacker bisa langsung mengakses website atau aplikasi menggunakan akun milih domainesia tadi. Wow mengerikan ya!

Database sudah berhasil diakses

Cara SQL Injection yang terakhir yaitu hacker sudah berhasil untuk mengakses website dan bahkan mereka bisa mengendalikan role pada website tersebut.

Bahayanya jika mereka mengubah rolenya menjadi administrator yang nantinya mereka memiliki akses penuh terhadap website yang diretas.

Parahnya data di dalamnya bisa saja dihapus dan diubah sehingga tidak ada yang bisa mengakses website tersebut kecuali hacker itu sendiri.

Contoh SQL Injection yang Pernah Terjadi

Seperti yang kita tahu sebelumnya bahwa SQL Injection menjadi kejahatan di peringkat ketiga saat ini.

Maka dari itu ada beberapa contoh SQL Injection yang pernah dilakukan hacker untuk mencuri data. Berikut beberapa contoh SQL Injection yang sukses dilakukan oleh hacker.

Kasus peretasan kartu kredit

Pertama, contoh SQL Injection adalah kasus yang dialami oleh dua mahasiswa asal Indonesia yang meretas 4000 kartu kredit yang mayoritas pemiliknya berada di Australia.

Aksi peretasan ini dimulai dengan pencurian data pada salah satu ecommerce yang ada disana melalui database sql server yang digunakan.

Diduga sistem database yang digunakan memiliki keamanan yang lemah sehingga hacker dapat dengan mudah melakukan eksploitasi data.

Aksi ini menimbulkan kerugian yang besar dan ditaksir kerugian berada di angka 20$ AUS atau sekitar Rp 215 juta. 

Peretasan situs KPU

Berikutnya, contoh SQL Injection adalah kasus yang terjadi di Indonesia pada tahun 2004 silam yang menargetkan situs milik KPU.

Awalnya hacker menemukan celah keamanan pada situs tersebut lalu dia melancarkan aksinya pada 16 April 2004 dengan menembus isi dari situs tersebut dan mengubah nama-nama data di dalamnya menjadi nama buah-buahan.

Data pengguna Tokopedia yang bocor

Contoh SQL Injection serupa juga dialami salah satu ecommerce ternama di Indonesia pada tahun 2020 yaitu Tokopedia.

Disinyalir aksi ini dilakukan dengan menggunakan SQL Injection dan beberapa teknik yang lebih canggih lainnya.

Dengan begitu, data pengguna Tokopedia seperti nama, email, alamat, jenis kelamin, tanggal lahir, nomor telepon, hingga password yang terenkripsi bocor ke dark web dan bisa diakses oleh publik.

Bahkan menurut beberapa sumber mengatakan bahwa data tersebut berhasil dijual seharga Rp 70 juta.

Tentunya insiden ini membawa kerugian sebab data-data tersebut bisa disalahgunakan, misalnya untuk peminjaman online, email penipuan, dan beberapa kejahatan lain yang memanfaatkan data pengguna.

Dampak dari SQL Injection

Dari contoh SQL Injection yang pernah terjadi di atas, maka akan ada beberapa dampak yang akan didapatkan. Berikut dampaknya.

Data pribadi pengguna website terancam

Pertama, dampak SQL Injection adalah data pribadi dari pengguna website atau aplikasi akan terancam.

Seperti contohnya kasus yang terjadi pada Tokopedia. Jika hacker sudah berhasil melakukan login menggunakan akun milik salah satu pengguna, maka tidak bisa dielakkan lagi bahwa aktivitas ilegal bisa dilakukan dengan mengatasnamakan pengguna tersebut.

Selain itu, data yang berhasil dicuri tersebut bisa disalahgunakan untuk melakukan tindak kejahatan yang lain.

Verifikasi login sistem bisa jebol

Hacker yang berhasil login tanpa menggunakan password mengindikasikan bahwa sistem verifikasi login dari website atau aplikasi jebol.

Sumber : envato

Dampak yang diakibatkan dari SQL Injection adalah sistem dengan mudah ditembus oleh hacker. Dengan begitu semakin banyak peluang untuk terjadi cyber crime yang lain.

Database yang dieksploitasi

SQL Injection adalah kejahatan dunia maya yang menyerang database. Apabila sistem database sudah berhasil ditembus, maka data yang berada di dalamnya otomatis akan dieksploitasi dengan menghapus dan mengubahnya.

Selain itu, hacker juga bisa menambahkan data yang membahayakan, terutama pada toko online atau sistem keuangan.

Bahkan lebih parahnya, hacker bisa memindahkan saldo dari pengguna lain ke rekening yang telah ditambahkan tadi. 

Tutorial Mencegah SQL Injection

Kamu sudah mengetahui apa itu SQL Injection dan contoh SQL Injection yang pernah terjadi lengkap dengan dampak yang akan didapatkan.

Kamu juga tidak inginkan hal tersebut menimpa website milikmu? Maka dari itu, kamu harus bisa mencegahnya dengan beberapa tutorial berikut ini.

Menambahkan validasi pada inputan 

Tutorial mencegah SQL Injection adalah dengan menambahkan validasi pada setiap inputan.

Bagi pengembang website, validasi ini sering terlupakan padahal dampaknya sangat besar bagi keamanan website.

Tambahkan beberapa validasi pada inputan, misalnya pada inputan username hanya boleh diisi oleh karakter, pada inputan nomor telepon hanya boleh diisi oleh angka, pada inputan nama diberi batasan hingga 25 karakter saja, dan masih banyak yang lain.

Hal itu justru akan menambah keamanan website dari serangan cyber crime.

Gunakan Parameterized SQL Query

Parameterized SQL Query adalah teknik sederhana namun tetap bisa mencegah adanya SQL Injection.

Tujuan adanya teknik ini adalah untuk membedakan antara query yang digunakan dengan inputan dari pengguna.

Dengan begitu maka segala inputan akan dianggap sebagai data biasa dan tidak berpengaruh terhadap sql yang digunakan dalam website kamu.

Memisahkan database yang berisi username dan password

Cara mencegah SQL Injection bisa kamu lakukan juga dengan memisahkan database yang berisi username dan password dengan data-data yang lain.

Hal ini dilakukan dengan agar saat 1 database berhasil tereksploitasi maka database yang lain tetap aman.

Sumber : envato

Dibutuhkan usaha lebih untuk membaca skema database jika ingin membobol database yang berisi username dan password. 

Baca juga : hosting murah paling aman

Menambahkan keamanan IPS dan WAF

Keberadaan Web Application Firewall (WAF) dapat membantu kamu untuk meningkatkan keamanan website dengan menyaring query yang dianggap berbahaya.

Selain melalui query, kini WAF mampu menyaring IP yang berbahaya juga.

Sedangkan Intrusion Prevention System atau IPS adalah lapisan keamanan yang digunakan untuk memantau trafik di dalam jaringan.

Sehingga bisa mencegah berbagai komunikasi data yang bersifat ilegal. 

Mematikan notifikasi jika terjadi error

Notifikasi error memang memudahkan pengembang website untuk menemukan error dan mempercepat proses perbaikan.

Namun, jika website sudah digunakan oleh pengguna maka lebih baik notifikasi error tersebut jangan ditampilkan.

Sebab hacker bisa mengetahui titik kelemahan dari website milikmu sehingga mereka bisa dengan mudah melakukan SQL Injection untuk mencuri data.

Memanfaatkan SQL Escape String

Tutorial mencegah SQL Injection adalah memanfaatkan adanya SQL Escape String.

SQL Escape String adalah rangkaian dari kode untuk mengubah karakter yang dianggap berbahaya dengan karakter yang lain.

Dengan mengubah karakter berbahaya seperti (‘) dengan karakter lain (/) agar query tersebut tidak terbaca oleh database.

Menambah keamanan pada database

Ada beberapa cara untuk menambah keamanan pada database, seperti.

  • Menambahkan hak akses pada setiap user untuk membatasi aktivitas di dalam database.
  • Melakukan pergantian password berkala pada setiap akun yang dapat mengakses database.
  • Menggunakan enkripsi data yang didalamnya mengandung data-data sensitif.
Sumber : envato

Segera Tingkatkan Keamanan Guna Memproteksi Website dari SQL Injection!

Kamu sudah paham kan apa itu SQL Injection? SQL Injection adalah kejahatan dalam dunia maya dengan memanfaatkan query SQL pada titik lemah dari website atau aplikasi.

SQL Injection adalah kejahatan yang bisa mengancam siapa saja yang tidak memiliki keamanan ekstra di dalam sistemnya.

Dengan adanya SQL Injection ini bisa merusak data di dalam sistem milikmu. Hal tersebut bisa membawa kerugian yang besar bagi pengguna atau bahkan pemilik sistem.

Baca juga : WordPress hosting teraman

Apalagi jika data di dalamnya yang sudah diacak-acak hingga diperjual belikan ke publik.

Untuk menghindari itu kamu harus memperhatikan beberapa hal yang bisa kamu terapkan mulai sekarang seperti menambah keamanan database, memanfaatkan SQL Escape String, mematikan notifikasi error, menambahkan IPS dan WAF, menambahkan validasi inputan, dan juga menggunakan Parameterized SQL Query.

Beberapa cara tersebut bisa kamu aplikasikan sejak sekarang ya DomaiNesian jika kamu tidak menginginkan kejahatan tersebut terjadi pada sistem milikmu. Tetap waspada dan selalu pentingkan keamanan sistem ya!

Mila Rosyida

Halo ! I'm a Technical Content Specialist in DomaiNesia. I love learn anything about Technical, Data, Machine Learning, and more Technology.


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya

Hosting Murah

This will close in 0 seconds