Pernah mendengar istilah Command Injection dalam Penetration Testing? Ini dikenal sebagai salah satu celah keamanan cukup serius dalam Web Security. Command Injection memungkinkan attacker dapat “menyisipkan” perintah sistem ke dalam aplikasi yang tidak memfilter input user dengan benar. Jika sudah berhasil dieksploitasi, attacker bisa menjalankan perintah berbahaya ke dalam server, bahkan bisa ambil alih sistem sepenuhnya.
Sebagai seorang , pasti pentester sering menemukan celah ini di berbagai aplikasi, mulai dari sistem login, formulir pencarian, hingga fitur upload file. Paling mengkhawatirkan, celah ini sering muncul karena menyepelekan hal-hal kecil oleh developer.
Jadi artikel ini hadir buat bantu para developer agar bisa mencegah Command Injection sejak awal. Yuk, kita bahas satu per satu tips-nya!
Salah satu penyebab utama terjadinya serangan Command Injection adalah input dari user yang tidak difilter dengan benar. Banyak aplikasi web menerima input dari pengguna seperti alamat IP, nama file, atau URL. Tetapi sayangnya, lupa melakukan validasi atau sanitasi sebelum memprosesnya.
Akibatnya, ketika input tersebut digunakan langsung dalam perintah sistem seperti ping, ls, cat, atau curl, attacker bisa menyisipkan perintah tambahan. Dengan teknik ini, mereka bisa menjalankan perintah apa saja di server target.
Misalnya, input sederhana seperti 127.0.0.1; ls bisa membuat server tidak hanya menjalankan ping ke IP tersebut, tapi juga menampilkan seluruh isi direktori. Dalam kasus yang lebih parah, attacker bahkan bisa mendapatkan akses penuh dan mengontrol server sepenuhnya. Inilah kenapa filtering input itu wajib dan bukan opsional.
1. Validasi Input Dengan Whitelist
Jangan hanya sekedar filter karakter aneh seperti : atau &&. Gunakan Whitelist buat pastikan hanya input yang benar-benar diizinkan yang bisa masuk. Misalnya:
2. Escape dan Sanitize Input
Jika terpaksa menggunakan command shell, gunakan metode sanitasi sesuai bahas yang dipakai. Misalnya:
3. Logging dan Monitoring Perintah
Aktifkan logging untuk setiap perintah yang dieksekusi yang bisa bantu deteksi aktivitas aneh atau abuse. Banyak serangan command injection yang baru ketahuan setelah sistem rusak.
4. Belajar Deteksi dan Uji Command Injection
Seorang developer harus bisa deteksi dan uji Command Injection dengan belajar Cyber Security hanya di www.cyberacademy.id
Belajar Online : www.cyberacademy.id/belajar-online
Live Class : www.cyberacademy.id/liveclass
Corporate Training : www.cyberacademy.id/corporate-training
Cybersecurity Culture : www.cyberacademy.id/cybersecurity-culture