Um ataque de execução de comando ocorre quando um atacante é capaz de executar comandos arbitrários no sistema operacional do servidor alvo. Isso pode ocorrer devido a falhas no código da aplicação, que permite a injeção de comandos de forma insegura.
Os riscos associados a ataques de execução de comando incluem:
Hackers exploram vulnerabilidades em aplicações que executam comandos do sistema operacional com base em entradas do usuário sem validação adequada. Abaixo estão exemplos de código vulnerável em diferentes linguagens de programação:
<?php
$command = $_GET['cmd'];
system($command);
?>
import os
command = input("Enter the command: ")
os.system(command)
<?php
$allowed_commands = ['ls', 'whoami'];
$command = $_GET['cmd'];
if (in_array($command, $allowed_commands)) {
system($command);
} else {
echo "Comando não permitido.";
}
?>
import subprocess
allowed_commands = ['ls', 'whoami']
command = input("Enter the command: ")
if command in allowed_commands:
subprocess.run(command, shell=True)
else:
print("Command not allowed.")