
Exploração e Pesquisa de RCE
Execução remota de código por meio de vulnerabilidade de upload de arquivo irrestrito no Sistema de Gerenciamento de Pacientes da Clínica v 1.0

A Execução Remota de Código no Sistema de Gerenciamento de Pacientes da Clínica v 1.0 permite que um Atacante faça upload de webshell php arbitrário por meio da funcionalidade de upload de foto de perfil em users.php
No código fonte a seguir, podemos ver que o desenvolvedor permite diretamente o upload de qualquer arquivo de mídia sem restringir uma extensão específica, o que significa que podemos fazer upload de arquivos de qualquer extensão, o que não é adequado por razões de segurança. Usando essa falha de funcionalidade, um atacante pode fazer upload de webshell malicioso para obter acesso completo ao servidor com privilégios de root
Página vulnerável - users.php
// users.php
$status = move_uploaded_file(
$_FILES["profile_picture"]["tmp_name"],
'user_images/' . $targetFile
);
if ($status) {
try {
$con->beginTransaction();
$query = "INSERT INTO `users`(`display_name`,
`user_name`, `password`, `profile_picture`)
VALUES('$displayName', '$userName', '$encryptedPassword', '$targetFile');";
$stmtUser = $con->prepare($query);
$stmtUser->execute();
$con->commit();
$message = 'user registered successfully';
} catch (PDOException $ex) {
$con->rollback();
echo $ex->getTraceAsString();
echo $ex->getMessage();
exit;
}
} else {
$message = 'a problem occured in image uploading.';
}
header("location:congratulation.php?goto_page=users.php&message=$message");
exit;
}
# Upload a simple webshell to the target machine -
python3 CVE-2022-40471.py <target_ip> <target_port> <target_uri> <username> <password>
python CVE-2022-40471.py 127.0.0.1 80 /pms/ UserName Password

RashidKhan Pathan (iHexCoder), 9 de setembro de 2022. Twitter: @itRashid