niushop 前台无限制Getshell

漏洞 0 19166
花落知多少
花落知多少 2018年03月13日

这个CMS写的感觉很渣,官网服务器放在阿里云,估计作者又抱着连阿里云都防不住那就没办法的心态。

这次发现的是一个无需登陆即可getshell的漏洞

从入口文件找应用层目录

1.png

/application/下看到了admin模块

2.png

控制器里面有个Upload.php文件

其中问题代码在114行到264行,由于篇幅过长,我在这里截取其中重要的一部分代码

3.png

首先,整个文件没有对访问者的身份进行判断,也就是无需登陆

我们来看标记的第一处和第二处

4.png

这里会获取一个file_path,也就是上传路径,如果不存在则创建该路径的文件夹,下面紧跟着就是获取文件,参数名为file_upload

再来看标记的第三处和地四处

5.png

在中间的过程中并没有对文件后缀进行校验,第三处直接将文件命名,后缀保持不变,第四处就直接从服务器Temp中复制到指定目录了

再来看第五处

6.png

在文件上传成功之后,会用getimagesize()这个函数去获取图片信息,否则会强制改掉文件后缀,并报错提醒

7.png

所以我们需要构造一个表单,请求路径根据入口文件和模块路径得出index.php?s=/admin/upload/uploadfile,请求方式为POST,构造一个表单,文件参数名为file_upload,路径参数名为file_path

8.png

上传的是时候要使用图片马,后缀直接改为.php

9.png

10.png

返回路径upload\/common\/1520581783.php,用菜刀连接

11.png

成功getshell

 


文章标签