Open VladRafli opened 2 years ago
Belum masukin lagi Issue yang ditemukan di folder admin. Masih ada banyak yang pake query biasa
Sedang dicicil untuk perubahan dari query biasa ke mysqli prepare
Kalo query-nya engga ada concatination, maka tidak perlu diganti, karena tidak ada kemungingan SQL Injection di Query yang engga ada input dari user
// Ini aman
mysqli_query("SELECT * FROM table_name");
// Ini engga aman
mysqli_query("SELECT * FROM table_name WHERE id = " . $id);
// Contoh SQL Injection
// Input -> OR 1 = 1
// SELECT * FROM table_name WHERE id = $id
// SELECT * FROM table_name WHERE id = OR 1 = 1 -> Mengembailkan semua data dari table karena WHERE Clausenya true
mysqli_query("SELECT * FROM table_name WHERE id = " . $id);
https://github.com/VladRafli/o-semar/commit/f55410462018ae4e7c585433e24f04e41387c0aa
Mitigasi vulnerability ini untuk API
Problem
Bahaya SQL Injection di kode rest.php. Karena input dari user (melalui POST) bisa mengandung query SQL. Semua query yang perlu ada input dari user Wajib di filter.
Cara mengatasinya menggunakan mysqli_prepare()
Issue