Fastadmin 漏洞合集
FastAdmin前台分片传输上传文件Getshell
影响版本
FastAdmin < V1.2.0.20210401_beta
且开启分片传输功能(默认关闭)
漏洞复现
详看:https://xz.aliyun.com/t/9395
EXP:
https://github.com/exp1orer/FastAdmin_Upload
Fastadmin _empty前台文件包含Getshell
前提:
开启⽤户注册
漏洞原因:
直接将$name参数带⼊到fetch函数,fetch函数是ThinkPHP解析模版的函数,⾥⾯⽀持原⽣PHP,所以造成 RCE,直接上传成功就可以调⽤这个点解析。 Php代玛可以和标益在模板⽂件中漏合使⽤,可以在模板⽂件⾥⾯千写任意的P句代码,包括下⾯两种⽅式: 使⽤php标签 例如:
我们建这需要使⽤PHP代的时候尽量采⽤hp签,因为原⽣的PHP法可能会被配置禁⽤⽽导致解析错误. 使⽤原⽣php代码
注意:php标签或者h代码⾥⾯就不能再使⽤标签(包普通标盗和么标)了,因此下⾯的⼏种⽅式都是⽆效的;
FastAdmin 后台Getshell
0x1 Getshell 1 需要超级管理员权限
打开菜单规则>菜单规则(auth/rule)>编辑
条件规则处写入
可用file_put_contents或者copy等来写shell
创建一个低权限管理员 登录访问后台首页
https://xxx.app/admin/dashboard?ref=addtabs 成功执行代码
0x2 Getshell2
后台>插件管理>如果有文件管理器可直接上传shell
0X3 Getshell3
后台>插件管理>如果有命令执行插件
打开命令执行插件>一键生成API文档>如图
点击生成命令行 立即执行 会在根目录生成 api.php
0x4 Getshell 4
后台>插件管理>在Fastadmin官网去下载一个example插件压缩包 采用离线安装模式
打开下载的example插件压缩包 更改Example.php文件中
1 | /** |
更改完成 离线上传安装 点击启用插件 会在根目录生成 1.php
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Caps!
评论