A execução remota de código (Remote Code Execution, RCE) é uma vulnerabilidade que permite a um atacante executar comandos arbitrários no sistema de um servidor ou aplicativo remoto. Esse tipo de ataque pode ter consequências severas, como o controle total do sistema comprometido.
Os hackers podem executar ataques RCE de várias maneiras, incluindo:
<!-- Exemplo de código PHP vulnerável a RCE -->
<?php
$comando = $_GET['comando'];
// Executa o comando fornecido pelo usuário
system($comando);
?>
No exemplo acima, a entrada do usuário não é validada, permitindo que um invasor execute comandos arbitrários no servidor.
<!-- Exemplo de código PHP seguro contra RCE -->
<?php
$comando = $_GET['comando'];
// Lista de comandos permitidos
$comandos_permitidos = ['ls', 'whoami'];
if (in_array($comando, $comandos_permitidos)) {
echo shell_exec($comando);
} else {
echo 'Comando não permitido';
}
?>
No exemplo acima, a entrada do usuário é validada contra uma lista de comandos permitidos, mitigando o risco de RCE.