Jumat, 03 November 2017

Published November 03, 2017 by with 0 comment

Pengertian, Penyebab & Jenis - jenis Serangan SQL Injection

SQL Injection adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa pemrograman lain.
Penyebab Terjadinya SQL Injection
SQL Injection terjadi karena tidak adanya penangan terhadap karakter-karakter tanda petik tunggal (`) dan juga karakter double munis (-). Sehingga seorang hacker dengan mudahnya bisa menyisipkan perintah SQL kedalam suatu parameter mautun suatu form. Karena sesungguhnya para hacker hanya bermodalkan algoritma yang matang yang nantinya akan menjadi kode berbahaya bagi situs yang menjadi sasaran.
Jenis - jenis Serangan SQL Injectoin
1. Identifying injectable parameters
Dengan cara ini penyerang hanya ingin menyelidiki Aplikasi Web untuk menemukan dimana parameter dan bidang-input pengguna rentan terhadap SQLIA.
2. Performing database finger-printing
Penyerang ingin menemukan jenis dan versi database yang aplikasi Web menggunakan. Beberapa jenis database yang berbeda merespon secara berbeda terhadap query dan serangan, dan informasi ini dapat digunakan untuk “sidik jari” database. Mengetahui jenis dan versi database digunakan oleh aplikasi Web memungkinkan penyerang untuk kerajinan serangan database specific.
3. Determining database schema
Untuk benar mengekstrak data dari database, penyerang seringkali perlu mengetahui informasi skema database, seperti nama tabel, nama kolom, dan tipe data kolom.
4. Extracting data
Jenis-jenis serangan menggunakan teknik yang akan mengekstrak nilai data dari database. Tergantung pada jenis aplikasi Web, informasi ini bisa menjadi sensitif dan sangat diinginkan untuk penyerang. Serangan dengan maksud ini adalah Jenis yang paling umum dari SQLIA.
5.Adding or modifying data
Tujuan dari serangan ini adalah untuk menambah atau mengubah informasi dalam database.
6.Performing denial of service
Serangan ini dilakukan untuk menutup database dari aplikasi Web, sehingga menyangkal layanan kepada pengguna lain.
7. Evading detection
Kategori ini mengacu pada teknik serangan tertentu yang digunakan untuk menghindari audit dan deteksi oleh mekanisme perlindungan sistem.
8. Bypassing authentication
Tujuan dari serangan jenis ini adalah untuk memungkinkan penyerang untuk memotong database dan mekanisme otentikasi aplikasi.
9. Executing remote commands
Jenis-jenis serangan mencoba untuk menjalankan perintah sewenang-wenang pada database. Perintah ini Canbe disimpan prosedur atau fungsi yang tersedia bagi pengguna database.
10. Performing privilege escalation
Serangan ini memanfaatkan kesalahan implementasi atau kekurangan logis dalam database untuk meningkatkan hak-hak istimewa dari penyerang. Berbeda dengan melewati serangan otentikasi, serangan ini fokus pada pemanfaatan hak database pengguna.
Cara Pencegahan SQL Injection
1. Hal pertama yang bisa sobat lakukan adalah dengan membatasi panjang input box (jika memungkinkan), jadi untuk membatasinya sobat bisa menyisipkanya di kode program, agar nanti si pembobol pemula akan bingung sejenak melihat input box nya tidakbisa diinject dengan perintah yang panjang.
2. Pada langkah kedua lakukan Filtering pada input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal (Input Validation).
3. Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan.
4. Matikan fasilitas-fasilitas standar seperti Stored Procedures, Extended Stored Procedures jika memungkinkan.
5. Ubah “Startup and run SQL Server” menggunakan low privilege user di SQL Server Security tab.
6. Pasang WAF ( Web Application Firewall ) Pada Web Server sobat. WAF (Web Application Firewall) ini berperan sangat penting dalam melindungi Web Server anda, Karena WAF bertugas sebagai penjaga web anda dari berbagai serangan berbahaya (SQL Injection, XSS, Spam, CSRF, dll).

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.