Apa itu SQL Injection
SQL Injection adalah teknik serangan dimana penyerang menyisipkan kode SQL kedalam input yang dijalankan oleh aplikasi sehingga penyerang bisa memanipulasi database. SQL Injection terjadi ketika aplikasi tidak benar-benar membersihkan atau memvalidasi input dari pengguna sebelum digunakan dalam pernyataan SQL. Jika input pengguna tidak divalidasi dengan benar, penyerang dapat mengubah input untuk menyuntikkan kode SQL mereka sendiri. Sebagian besar kerentanan ini terjadi pada klausa WHERE dari queri SELECT. Biasanya input user sering digunakan langsung dalam klausa WHERE tanpa validasi yang memadai. Dengan memanipulasi queri, penyerang dapat menyisipkan kode SQL untuk mengubah hasil queri.
Cara Mendeteksi SQL Injection
- Periksa semua titik di mana pengguna dapat memasukkan data, seperti formulir login, kolom pencarian, URL parameter, dan formulir pendaftaranSQL Injection dapat terjadi dalam berbagai pernyataan SQL.
- Cek respon aplikasi dengan karakter khusus
- Cek Erros-based SQL Injection
- Cek Blind SQL injection (Boolean-based, Time-based)
- Cek Union-based SQL Injection
Pencegahan
- Sanitasi Input: Pastikan semua input pengguna disanitasi dan divalidasi sebelum digunakan dalam kueri SQL.
- Prepared Statements: Gunakan prepared statements atau parameterized queries untuk mencegah injeksi SQL.
- Handling Kesalahan: Hindari menampilkan pesan kesalahan SQL ke pengguna akhir.
- Hak Akses Minimal: Terapkan prinsip hak akses minimal untuk database pengguna.
No comments:
Post a Comment