Jika kamu memiliki kritik dan saran, hubungi kami melalui Kontak Kami

Apa itu SQL Injection dan Cara Mencegahnya

SQL Injection dan Cara Mencegahnya


   Kasus peretasan meningkat beberapa tahun ini. Salah satunya adalah penyerangan terhadap celah keamanan pada sebuah website yang berakibat fatal. Biasanya orang melakukan hal tersebut adalah pihak yang tidak bertanggung jawab atau bisa disebut sebagai peretas website.
    Alasan seorang peretas melakukan aksi peretasan nya kepada sebuah website karena website tersebut memiliki keamanan yang rendah sehingga memiliki bug atau celah yang bisa disalahgunakan oleh si peretas untuk memasuki sistem dari website tersebut.
     Salah satu celah keamanan nya adalah SQL Injection. Apa sih yang dimaksud dengan SQL Injection ? SQL Injection merupakan salah satu teknik hacking yang biasa digunakan oleh para peretas dengan memanfaatkan dan menyalahgunakan celah keamanan tersebut dengan tujuan memasuki sistem dari website tersebut. Untuk penjelasan lebih detail nya, simak penjelasan nya dibawah ini.

Apa Itu SQL Injection ?
    SQL Injection merupakan salah satu teknik yang biasa digunakan oleh para peretas dengan memanfaatkan sebuah celah keamanan atau sebuah bug yang terdapat pada suatu website. Tujuan dari penyerangan ini adalah agar si peretas berhasil memasuki sistem admin.
    Sampai saat ini, teknik serangan SQL Injection masih menjadi teknik serangan favorit yang digunakan oleh para peretas. Kenapa serangan SQL Injection menjadi serangan favorit yang digunakan oleh para peretas ? Salah satu alasan mengapa teknik serangan SQL Injection menjadi serangan favorit yang digunakan oleh para peretas adalah karena masih banyak website yang memiliki keamanan yang rendah sehingga memiliki celah keamanan yang bisa disalahgunakan oleh si peretas.

Apakah Serangan SQL Injection Berbahaya ?
    Tentunya serangan SQL Injection ini sangatlah berbahaya. Selain memasuki sistem website, si peretas juga bisa menghapus data, mengubah data, menambahkan data, dan membocorkan data kepada publik.
    Si peretas bisa saja menghapus data - data penting milik admin website. Jika yang dimasuki oleh si peretas adalah website sekolah, peretas tersebut bisa menghapus data murid, data guru, foto guru, foto siswa dan lainnya.
    Selain dapat menghapus data, si peretas bisa mengubah data - data keseluruhan yang terdapat dalam website tersebut. Jika website yang disusupi oleh si peretas adalah website sekolah, maka si peretas bisa mengubah nilai, mengubah file ujian dan sebagainya.
    Mungkin terdengar biasa saja jika si peretas hanya menambahkan data. Tetapi kita tidak mengetahui jenis data yang ditambahkan oleh si peretas tersebut. Meskipun si peretas hanya menambahkan gambar tetap saja berbahaya. Mengapa berbahaya ? Gambar pun memiliki banyak jenis nya, kalau hanya sekedar gambar dengan ekstensi jpg ataupun png mungkin biasa saja. Tetapi si peretas pun memiliki cara tersendiri yang namanya tamper data. Jadi file nya gambar namun ekstensi nya berubah menjadi .php.jpg atau .php.png. Atau si peretas juga bisa menambah sebuah file yang disebut Shell backdoor dengan ekstensi .php. Namun ada yang lebih berbahaya lagi, si peretas juga bisa menambahkan sebuah file virus ke dalam website tersebut. Fungsi dari virus tersebut adalah mengunci semua file yang ada di website tersebut seperti file foto karyawan, file penting dan sebagainya. Virus tersebut sering disebut sebagai Malware.
    Yang terakhir adalah membocorkan data penting milik website tersebut. Yang namanya data pasti bersifat pribadi dan rahasia, jadi tidak ada yang boleh mengetahui kecuali pemilik nya. Lalu bagaimana jika data tersebut disebarluaskan atau dipublikasikan oleh pihak yang tidak bertanggung jawab ? Pasti disalahgunakan. Misalnya yang menjadi target adalah website pemerintah yang memiliki banyak file penting seperti kartu keluarga, akte kelahiran, foto KTP dan dokumen lainnya. Jika si peretas berhasil memasuki website tersebut, maka si peretas bebas melakukan apapun misalnya menjual data data penting website tersebut ataupun membocorkan data nya kepada publik secara gratis.

Cara Kerja Serangan SQL Injection

- Mencari Celah Keamanan
    Langkah pertama adalah si peretas mencari celah keamanan yang terdapat pada website agar si peretas dapat memanfaatkan celah tersebut untuk memasuki sistem dari website. Biasanya para peretas untuk melakukan serangan SQL Injection mencari celah keamanan di tempat form admin login.
    Kedua, si peretas menginputkan Query SQL atau kode injeksi melalui form admin login. Jika query SQL nya menunjukkan detail login user, maka si peretas berhasil masuk ke dalam database website. Namun jika tidak berhasil, 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 oleh si peretas untuk bisa login.

- Masuk Ke Database
    Si peretas pun berhasil masuk ke bagian dalam database website tersebut tanpa proses verifikasi. Tentunya setelah si peretas berhasil masuk ke database website, si peretas bisa mengendalikan keseluruhan isi dari website tersebut. Database hanya mengetahui bahwa yang masuk hanyalah admin, bukan si peretas. Begitupula 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.

Cara Mencegah Serangan SQL Injection
    Diatas kita sudah kita bahas apa itu SQL Injection, alasan mengapa serangan SQL Injection sangat berbahaya, dan cara kerja serangan SQL Injection mulai dari mencari celah keamanan website sampai masuk ke dalam database nya. Sekarang kita akan membahas bagaimana cara mencegah serangan SQL Injection. Simak cara caranya dibawah ini. 

- 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.

- 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.

- 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.

- 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.

- 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
- Filter User
     Cara mengatasi terjadinya serangan SQL Injection salah satunya adalah melakukan filter terhadap setiap inputan user. Terutama yang menggunakan tanda kutip.

Posting Komentar

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.