Menurut sebuah penelitian, SQL injection termasuk pada urutan ketiga untuk resiko keamanan paling besar pada aplikasi website. Untuk itu, penting untuk mempelajari tentang apa itu SQL injection, cara kerjanya dan bagaimana cara mengatasinya dengan benar agar pencurian data tak berhasil dilakukan. SQL injection adalah salah satu aksi ilegal yang dilakukan seseorang untuk melakukan pencurian data dan informasi penting.
Pengertian SQL Injection
Serangan injeksi SQL memungkinkan pihak penyerang untuk bisa melihat data dan informasi penting yang seharusnya tak bisa mereka ambil.
SQL injection adalah jenis teknik peretasan yang dilakukan dengan cara menyalahgunakan celah keamanan yang ada di lapisan SQL berbasis data pada sebuah aplikasi atau website. Celah tersebut umumnya terbentuk karena pengguna tak mengaktifkan filter untuk meta karakter yang ada pada form input aplikasi yang memungkinkan hacker untuk menuliskan perintah SQL di form tersebut.
Akibat dari adanya serangan injeksi SQL tersebut bisa menyebabkan akses pengguna menjadi tak sah dan tak diterima pada data sensitif seperti :
- Rincian kartu kredit
- Kata sandi
- Informasi pengguna pribadi
Tujuan SQL Injection
Hacker melakukan serangan karena memiliki tujuan SQL injection tertentu, terutama untuk melakukan pencurian data pribadi yang penting dalam aplikasi yang digunakannya. Adapun tujuan lain dari dilakukannya serangan SQL injection adalah:
1. Meniru identitas pengguna
Serangan injeksi SQL bisa digunakan untuk meniru identitas pengguna, misalnya administrator basis data. Dengan meniru identitas pengguna, maka hacker akan mempunyai semua hak istimewa basis data yang dimiliki pengguna asli.
2. Mengubah data pada database
Hacker bisa mengubah atau menambahkan data baru seperti misalnya untuk membatalkan transaksi, melakukan transfer uang pada rekening hacker hingga mengubah saldo rekening.
3. Akses lengkap database
Hacker bisa memperoleh akses lengkap pada semua data yang tersimpan di server database sehingga bisa memilih kemudian mengeluarkan data pengguna dari database.
4. Menghapus catatan dari database
Serangan injeksi SQL juga bisa membuat hacker bisa menghapus catatan hingga menghapus tabel yang ada dalam database sehingga mempengaruhi ketersediaan aplikasi.
Lalu bagaimana cara kerja SQL injection? Cara kerja serangan injeksi SQL dilakukan dengan cepat namun terbagi menjadi 3 langkah yaitu :
- Hacker mengincar celah keamanan yang dimiliki sebuah database
- Dilakukan proses validasi atas SQL query yang dipakai
- Database berhasil diakses dan dikuasai oleh hacker
Umumnya serangan SQL injection adalah terjadi saat Anda meminta masukan dari pengguna, seperti misalnya nama ID pengguna. Namun alih-alih nama atau ID pengguna yang diinput ke dalam form, pengguna tersebut memberi Anda sebuah pernyataan SQL yang tanpa disadari akan Anda operasikan di dalam database yang dimiliki.
Jika Anda menemukan adanya serangan injeksi SQL pada aplikasi atau website yang sedang Anda gunakan, bisa melakukan beberapa hal berikut. Ada beberapa trik efektif yang bisa menjadi cara mengatasi serangan SQL injection jika terjadi yaitu:
- Nonaktifkan notifikasi error, karena notifikasi tersebut bisa dimanfaatkan oleh hacker dengan membuatnya muncul lalu melakukan aksi serangan injeksi SQL melalui celah tersebut
- Kunci database, dimana Anda memberikan batasan untuk akses SQL query yang tak bisa diakses melalui laman pengguna maupun website
- Sesuaikan form input box, jika bertujuan untuk menulis nama maka bisa ditambahkan karakter khusus, sedangkan untuk penulisan nomor kontak bisa diisi dengan menggunakan numbering
Contoh Serangan SQL Injection
Diketahui ada banyak resiko, jenis serangan dan teknik injeksi SQL yang dilakukan dalam berbagai situasi. Untuk mengenalinya sehingga bisa melakukan tindakan pencegahan dan penanganan dengan tepat, penting untuk mengetahui beberapa contoh SQL injection yang sering terjadi diantaranya :
- Serangan UNION, jenis serangan yang memungkinkan hacker untuk mengambil data penting dari tabel database yang berbeda
- Injeksi SQL buta, jenis serangan yang beresiko pada hasil kueri yang Anda kendalikan tak dikembalikan dalam respons aplikasi
- Otentikasi bypass, serangan injeksi SQL yang membuat hacker bisa masuk ke dalam aplikasi dengan hak akses penuh bahkan tanpa menggunakan username dan password yang valid sekalipun
- Pencurian data dan informasi pribadi, serangan yang dilakukan untuk mendapatkan data dan informasi sensitif milik pengguna dalam database dengan cara illegal.
- Compromised ketersediaan data, jenis serangan yang bisa membuat hacker untuk menghapus informasi dengan tujuan merusak atau menghapus informasi yang tersimpan dalam database
- Compromised integritas data, jenis serangan yang dilakukan hacker untuk memasukkan jenis konten berbahaya
Contoh gambaran aksi serangan injeksi SQL untuk mengambil data tersembunyi milik pengguna adalah sebagai berikut : Misalnya pengguna sedang mengakses sebuah aplikasi belanja yang menyajikan berbagai jenis produk dalam beragam kategori.
Kemudian, pada saat pengguna meng-klik kategori Hadiah, browser yang digunakan akan meminta alamat sebuah alamat URL. Kondisi tersebut bisa menyebabkan aplikasi secara otomatis membuat kueri SQL dengan tujuan untuk mengambil rincian produk yang sesuai dari database.
Selanjutnya kueri SQL akan meminta pada database untuk mengembalikan semua data yang diminta tersebut, sementara sudah dibuat pembatasan untuk menyembunyikan produk tertentu yang tak dirilis. Pengguna bisa beranggapan bahwa produk yang dicarinya belum dirilis sehingga aplikasi tak menerapkan jenis pertahanan apapun pada serangan injeksi SQL yang terjadi.
Kondisi tersebut menjadikan hacker berpeluang untuk membuat serangan injeksi yang ingin mereka lakukan untuk tujuan tertentu. Itulah informasi singkat tentang SQL injection adalah sebuah serangan cyber yang harus bisa diantisipasi dengan baik khususnya oleh pengguna aplikasi atau website. Khusus untuk tim atau praktisi data bisa memanfaatkan alat khusus untuk memberikan pengamanan ekstra pada data penting yang tersimpan di server database.
Anda juga bisa menambah keahlian data science pada kelas Cyber Security untuk bisa mengantisipasi serangan injeksi SQL bersama Coding Studio. Ikuti kursus IT online bersama para pelatih professional di Coding Studio dan dapatkan harga promonya sekarang juga.