FineCMS AttachmentController 任意文件上传漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

来源链接:http://www.hackersb.cn/shenji/170.html 依旧是AttachmentController,当然这次不再是kindeditor_upload的上传文件然后包含文件这么简单了,而是直接上传脚本执行。 这次出现问题的是ajaxswfuploadAction方法,这个方法代码不是很多,我就直接全部贴出来了: ``` /** * Swf上传 */ public function ajaxswfuploadAction() { if ($this->post('submit')) { $_type = explode(',', $this->post('type')); if (empty($_type)) { exit('0,' . lang('att-6')); } $size = (int)$this->post('size'); if (empty($size)) { exit('0,' . lang('att-5')); } $data = $this->upload('Filedata', $_type, $size, null, null, $this->post('admin'), 'swf', null, $this->post('document')); if ($data['result']) { exit('0,' . $data['result']); } //唯一ID,文件全路径,扩展名,文件名称 exit(time() . rand(0, 999) . ',' . $data['path'] . ',' . $data['ext'] . ',' . str_replace('|', '_', $data['file'])); } else { exit('0,' . lang('att-4')); } } ``` 聪明的人,一眼就能看出来,从post请求中获取了type, 那么这个type是干啥用的?没错,他是设定允许上传的文件类型的,并且在第289行左右直接带入了upload函数!!!我的天哪!! 本以为这样就可以直接上传php文件进行getshell了,但是发现其实finecms也不傻~~在upload函数中进行了强制性的黑名单过滤: ``` $ext =...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息