Kode di atas dibuat untuk membuat file CSV dari data yang dipilih. Namun sangat membahayakan sitem itu sendiri, karena luput dari sanitasi dan encoding data yang akan diproses. Sehingga dapat memproses data berbahaya yang sengaja disusupkan penyerang/hacker, misalnya =cmd|' /C calc'!A0
di kolom CSV. Jika pengguna membuka file CSV ini di Excel, aplikasi tersebut dapat mengeksekusi command tersebut, yang berpotensi menyebabkan eksekusi perintah, pencurian data, atau tindakan jahat lainnya.
Perbaikan/patch dengan menyaring karakter yang berbahaya
Penyaringan karakter yang berbahaya (seperti =
, -
, +
, @
, \t
, atau \r
), kemudian mengubahnya menjadi tidak berbahaya dengan menambahkan tanda petik tunggal ('
) di depannya menjadikan command berbahaya tidak dapat dieksekusi.
Implementasinya seperti ini:
P.S.:
Snippet di atas didapat dari riset software plugin WordPress: Activity Log – Monitor & Record User Changes