Encontré una vulnerabilidad y no estoy seguro de cómo parchearla. Actualmente acepto la entrada del usuario y la uso para crear un comando de terminal que ejecuto en el servidor. Aquí está el código simplificado.
// Get user input
$monochromeThreshold = $_POST['monochromeThreshold'];
$originalFile = $_POST['originalFile'];
$monochromeLocation = $_POST['monochromeLocation'];
// Create command
$command = 'convert -density 150 -threshold ' . $monochromeThreshold . '% -fuzz 1% -transparent white ' . $originalFile . ' ' . $monochromeLocation;
// Execute command
$out = system($command);
¿Hay alguna forma de sanear la entrada del usuario o tomar otras medidas para evitar la inyección en el terminal con confianza?