WTCMS一处文件上传getshell
0x00 简述
下载地址:https://github.com/taosir/wtcms
对于后台文件上传过滤不严,可以修改文件上传php木马
0x01 演示
1、登录后台后,进入注册邮件模板功能
2、使用编辑器上传一张图片,并抓包修改文件名及文件内容
3、访问上传的php文件
0x02 代码分析
/wtcms-master/application/Asset/Controller/UeditorController.class.php
这里用的ueditor进行上传,这里只要保证action是uploadimage、uploadscrawl、uploadvideo、uploadfile中的一个使得能进入_ueditor_upload函数就可以
跟进_ueditor_upload函数,获取上传文件信息后调用了upload函数进行上传
继续跟进upload,最开始是一些常规检查包括文件有无、上传目录等。后面通过pathinfo获取文件后缀名,因为这里我们修改了请求包,所以$file['ext']的值就是php。接着调用了check函数进行上传检测。
这里我们只要看文件后缀名的检查就好了
但是到这里,config['exts']的值没有定义,为null,所以checkExt()会返回true
最后看下文件保存,config['saveExt']的值为空,所以这里取得后缀是之前pathinfo得出的后缀名也就是php,成功在服务器目录下生成php文件
没有评论