Analis Siber Purwakarta - admin. NoSQL Injection merupakan sebuah kerentanan yang terjadi ketika penyerang mampu mengganggu queries pada sebuah aplikasi yang berbasis NoSQL database. Seperti kerentanan database lainnya, NoSQL Injection akan berpotensi untuk mengekstrak/merubah integritas data, mengeksekusi code pada server, menyebabkan DDOS, ataupun melewati mekanisme autentikasi.
Beberapa tipe dari NoSQL Injection ini diantaranya berupa Syntax Injection, dan Operator Injection. Syntax Injection disebabkan karena inputan yang tidak tervalidasi/tersaring dari syntax queries NoSQL. Sedangkan Operator Injection disebabkan inputan tidak tervalidasi/tersaring dari operator queries NoSQL.
Untuk mendeteksi adanya Syntax Injection kita bisa melakukan serangkaian tes seperti menguji masing-masing inputan dengan spesial karakter/tipe data string yang dapat memicu error database. Sedangkan untuk menguji Operator Injection kita bisa menguji inputan dengan operator queries NoSQL seperti $where, $ne, $in, ataupun $regex.
Perbedaan SQL Injection, dengan NoSQL Injection terletak pada target, dan querynya. NoSQL Injection menargetkan aplikasi-aplikasi Node JS, ataupun API yang berbasis JSON. Seperti halnya SQL Injection, untuk mencegah terjadinya kerentanan NoSQL Injection pada aplikasi kita, maka kita harus melakukan sanitasi pada setiap inputan, dan hanya menerima beberapa karakter yang dapat diinputkan.
Referensi: Portswigger NoSQL Lab
Komentar
Posting Komentar