A escalação de privilégios é um tipo de ataque onde um usuário ganha acesso a níveis de permissão superiores aos que foram inicialmente concedidos. Isso pode permitir que o invasor execute ações restritas e acesse dados sensíveis.
Os hackers podem executar ataques de escalação de privilégios de várias maneiras, incluindo:
<!-- Exemplo de código PHP vulnerável -->
<?php
// Usuário fornecido via entrada de formulário
$user = $_POST['user'];
// Executa comando sem validação adequada
exec("sudo usermod -aG sudo " . $user);
echo "Usuário $user adicionado ao grupo sudo.";
?>
No exemplo acima, o comando exec
é usado sem validação adequada, permitindo que um usuário forneça um valor malicioso que pode ser usado para escalar privilégios.
<!-- Exemplo de código PHP seguro -->
<?php
// Usuário fornecido via entrada de formulário
$user = $_POST['user'];
// Lista de usuários permitidos
$allowed_users = ['user1', 'user2', 'user3'];
// Verifica se o usuário está na lista de usuários permitidos
if (in_array($user, $allowed_users)) {
exec("sudo usermod -aG sudo " . escapeshellarg($user));
echo "Usuário $user adicionado ao grupo sudo.";
} else {
echo "Usuário não autorizado.";
}
?>
No exemplo acima, a entrada do usuário é validada contra uma lista de usuários permitidos e a função escapeshellarg
é usada para evitar injeção de comandos.