Apa Itu SQL Injection?



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


Jenis-jenis Serangan SQL Injection

1.Union-Based SQL Injection

Merupakan tipe serangan SQL Injection yang paling popular. Jenis serangan ini menggunakan UNION statement, yang merupakan gabungan dari dua statement, untuk mendapatkan data dari database.

2.Error-Based SQL Injection

Tipe serangan SQL Injection yang paling sederhana, dan satu-satunya kesulitan dari tipe serangan ini adalah hanya dapat berjalan pada Microsoft SQL Server. Metode serangan ini, akan membuat aplikasi menunjukan error ketika mengakses database. Dari error ini si penyerang akan mempelajari informasi sistem seperti database, versi database, sistem operasi, dan lain sebagainya.

3.Blind SQL Injection

Blind SQL Injection adalah tipe serangan SQL Injection yang paling sulit. Dalam serangan ini, tidak ada pesan error yang diterima dari database. Hampir sama dengan serangan SQL Injection lainnya, yang membuatnya beda adalah bagaimana cara data diambil dari database.

Ada dua tipe dari Blind SQL Injection:

•Content-based Blind SQL Injection: Si penyerang akan mencoba untuk memverifikasi database apakah rentan terhadap Blind SQL Injection dengan membandingkan hasil dari query yang berbeda yang kembali dengan TRUE atau FALSE.

•Blind SQL Injection: Si penyerang akan menginstrusikan database untuk melakukan operasi time-intensive. Jika web site tidak mengembalikan respon dengan segera, berarti aplikasi web rentan terhadap serangan Blind SQL Injection.


Cara Mencegah SQL Injection

1. Batasi panjang input box (jika memungkinkan), dengan
cara membatasinya di kode program, jadi si cracker pemula akan bingung
sejenak melihat input box nya gak bisa diinject dengan perintah yang panjang.
2. Filter 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.


Sekian dari saya Terimakasih.


Posting Komentar

1 Komentar

Emoji
(y)
:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
x-)
(k)