Mengenal Apa Itu SQL Injection dan Cara Mencegahnya

Mengenal Apa Itu SQL Injection

    Belakangan ini, kasus serangan terhadap keamanan website semakin meningkat. Orang yang melakukan serangan ini bisa disebut sebagai pihak yang tidak bertanggung jawab atau sering disebut peretas.
    Seorang peretas melakukan aksi peretasan terhadap suatu website karena website tersebut memiliki sebuah bug yang dapat disalahgunakan oleh si peretas. Salah satu contoh bug nya adalah SQL Injection.
    Apa sih SQL Injection ? SQL Injection merupakan sebuah teknik hacking yang digunakan peretas dengan memanfaatkan celah keamanan pada website dan bertujuan untuk mengakses database admin. Untuk penjelasan lebih detail, yuk kita simak dibawah ini.

1. Apa Itu SQL Injection
      Seperti yang saya jelaskan diatas, SQL Injection merupakan sebuah teknik hacking yang digunakan peretas dengan memanfaatkan celah keamanan yang terdapat pada sebuah website dan serangan ini bertujuan untuk mengakses database admin.
       Hingga saat ini, teknik serangan SQL Injection menjadi serangan paling favorit yang digunakan para peretas website. Kenapa serangan SQL Injection menjadi serangan favorit yang digunakan oleh para peretas ? Karena masih banyak website yang kurang memperhatikan celah keamanan nya sehingga mudah disalahgunakan oleh si peretas tersebut.

2. Seberapa Bahaya Serangan SQL Injection ?
      Serangan SQL Injection ini tentunya sangat berbahaya untuk sebuah website. Selain dapat mengakses database admin, serangan ini juga bisa menghapus data, menambah data, mengubah data admin dan membocorkan data admin.
    Si peretas bisa saja menghapus data data penting si admin. Apalagi kalau website sekolah, tentu banyak data pentingnya, salah satunya data siswa dan data guru yang berisikan seperti foto kartu keluarga, foto ijazah, foto akte kelahiran dan foto penting lainnya.
    Mungkin terdengar biasa saja jika si peretas ini hanya menambahkan data pada website tersebut, tetapi sebenarnya sangat bahaya. Mengapa bahaya ? Karena kita tidak tau file apa yang ditambahkan si peretas ke dalam website tersebut. Para peretas biasanya menambahkan sebuah file yang bertujuan mengubah tampilan website atau bisa disebut file backdoor. Atau bisa juga si peretas menambahkan sebuah data yang isinya virus, jadi seluruh file yang terdapat dalam website tersebut dikunci oleh si peretas. Virus ini bisa disebut sebagai Malware.
     Mengubah data juga sangat bahaya dan berpengaruh pada sebuah website. Sebagai contohnya adalah si peretas mengubah username dan password admin. Atau bisa juga mengubah nilai yang terdapat pada website sekolah.
     Dan yang terakhir adalah membocorkan data. Pada umumnya, data bersifat pribadi dan hanya pemiliknya saja yang boleh mengetahui nya. Lalu bagaimana jika data nya di bocorkan oleh si peretas ? Si peretas pasti menyalahgunakan data tersebut untuk tindakan kejahatan. Misalnya dalam website pemerintah yang terdapat foto KTP, foto kartu keluarga dan foto lainnya. Kemudian si peretas membagikan data tersebut kepada publik sehingga bisa disalahgunakan.

3. Cara Kerja Serangan SQL Injection 

- Mencari Celah Keamanan Website 
     Langkah pertama adalah si peretas mencari sebuah celah keamanan website agar si peretas dapat menembus dan masuk ke database admin. Biasanya si peretas mencari kelemahan nya di form admin login.
     Kedua, si peretas mulai menginput kan sebuah kode injeksi atau query SQL melalui form admin login yang akan diproses database sebagai perintah. Apabila kode injeksi atay query SQL yang dikirim itu menunjukkan detail login user, maka login nya berhasil. Namun jika tidak, maka login nya gagal atau ditolak.

- Proses Validasi
     Setelah kode injeksi atau query SQL diinputkan, akan langsung di validasi oleh database. Database akan memberikan informasi login dari user tanpa mengecek terlebih dahulu password nya. Selanjutnya, hal itu akan segera dimanfaatkan hacker untuk bisa login.

- Masuk Ke Database
     Si peretas pun berhasil masuk ke bagian database website tersebut tanpa proses verifikasi. Tentunya setelah si peretas berhasil masuk ke database website, si peretas bisa mengendalikan seluruh isi website tersebut. Database hanya mengetahui bahwa yang masuk hanyalah admin, bukan si peretas. Si admin pun tidak mengetahui bahwa si peretas berhasil masuk ke dalam sistem website nya, kecuali si admin mengecek history login ke website. Setelah si peretas berhasil masuk ke database website nya, si peretas bebas melakukan apapun, karena peran dia sebagai admin. Si peretas bisa menghapus data, menambah data, mengubah data dan membocorkan data ke publik.

4. Cara Mengatasi Serangan SQL Injection
       Diatas kita sudah mengetahui apa itu SQL Injection, bahaya nya dari serangan SQL Injection, dan cara kerja dari serangan SQL Injection. Sekarang kita akan mempelajari bagaimana cara mengatasi serangan SQL Injection. Dibawah ini adalah beberapa cara yang bisa kamu gunakan untuk mengatasi serangan SQL Injection :

- Sembunyikan Pesan Error
     Di dalam sebuah website, biasanya apabila seorang user atau pengguna menginputkan data yang salah akan muncul notifikasi pesan error. Untuk mengatasi terjadinya serangan SQL Injection, sebaiknya kamu sembunyikan atau menonaktifkan pesan error tersebut.

- Filter User
     Cara mengatasi terjadinya serangan SQL Injection salah satunya adalah melakukan filter terhadap setiap inputan user. Terutama yang menggunakan tanda kutip.

- Sesuaikan Input Box
     Umumnya form input box bertujuan agar para pengguna bisa mengetikan nama. Untuk mengatasi terjadinya serangan SQL Injection, kamu bisa memberikan karakter khusus pada form input box tersebut.

- Batasi Input Box
     Diatas sudah dijelaskan untuk mengatasi terjadinya serangan SQL Injection adalah sesuaikan input box. Tetapi jika kamu ingin lebih aman lagi, kamu bisa membatasi batas maksimal kata yang bisa diinputkan dalam setiap input box. Misalnya untuk username maksimal 5 huruf.

- Mengunci Database
      Mengunci database juga merupakan salah satu cara untuk mengatasi serangan SQL Injection. Lebih baik SQL query tidak bisa diakses melalui website ataupun halaman pengguna.

- Menggunakan WAF dan IPS
     Web Application Firewall ( WAF ) bisa kamu gunakan untuk meminimalisir terjadinya serangan SQL Injection dan juga serangan cyber lainnya ke dalam database milikmu.
     Sementara Intrusion Prevention System ( IPS ) bekerja sebagai lapisan keamanan yang berfungsi memantau traffic pada OS dan jaringan.

- Menggunakan Parameterized Query
     Apa itu Parameterized Query ? Parameterized Query adalah sebuah permintaan query yang memakai penanda, dimana penanda atau parameter ini akan diberikan nilai pada waktu query dijalankan atau dieksekusi. Cara ini juga termasuk cara sederhana yang bisa kamu lakukan untuk mencegah terjadinya serangan SQL Injection.
إرسال تعليق (0)
أحدث أقدم