Skip to main content

A03:2021 - Injection

Deskripsi

Kerentanan muncul ketika data yang tidak terpercaya dikirimkan ke interpreter, yang dapat menyebabkan eksekusi perintah yang tidak diinginkan. Kerentanan disebabkan antara lain:

  • Kurangnya validasi input
  • Sanitasi data yang tidak cukup
  • Penggunaan metode pengolahan data yang tidak aman
  • Kueri secara dinamis atau permintaan yang tidak diberikan parameter tanpa konteks-peringatan pengalihan

Dampak

Penyerang bisa menyisipkan kode berbahaya yang akan dijalankan oleh sistem secara ilegal.

Mitigasi

  • Penyimpanan data terpisah dari perintah dan query.

  • Menggunakan API yang aman yang mencegah penggunaan mesin penerjemah secara keseluruhan, menyediakan sebuah tatap muka berparameter, atau migrasi ke perangkat pemetaan relasi objek.

  • Menggunakan daftar (whitelist) pada validasi input di sisi server.

  • Menerapkan validasi  dan sanitasi terhadap input pengguna.

  • Menggunakan LIMIT dan kontrol SQL lainnya di antara query untuk mencegah terungkapnya data jika terjadi injection.