Inyección de código: cuando una aplicación maliciosa utiliza una vulnerabilidad para explotar una aplicación que ya se está ejecutando para insertar código malicioso en la aplicación explotada; cambiando el camino de ejecución.
Inyección de comandos: cuando utiliza algún tipo de entrada en un sistema para ejecutar un comando sistema . Esto puede ocurrir cuando la entrada no está correctamente desinfectada o verificada. Wikipedia tiene un buen ejemplo
Ejecución remota de código : cuando un código puede ejecutar cualquier instrucción que desee en un sistema. Existen muchas vulnerabilidades, pero no todas permitirán que un atacante ejecute código arbitrario en un sistema. Obtener la ejecución remota de código es el último paso para explotar un sistema.
Para ponerlos todos juntos. Se utiliza una vulnerabilidad para explotar un sistema para realizar una inyección de código o comando para obtener la ejecución remota de código. Se debe tener en cuenta que no se necesita inyección de código / comando para obtener Ejecución remota de código. Son simplemente ejemplos de cómo se puede usar el código malicioso.