安全矩阵

 找回密码
 立即注册
搜索
查看: 2387|回复: 0

fastadmin前台getshell漏洞分析

[复制链接]

30

主题

60

帖子

447

积分

中级会员

Rank: 3Rank: 3

积分
447
发表于 2021-3-29 18:42:03 | 显示全部楼层 |阅读模式
首先是环境复现
漏洞利用条件:usercenter=>true
漏洞文件:\application\index\controller\User.php
登陆会员中心,在个人资料页面中修改个人头像:

在该页面进行图像上传(上传文件为1.jpg)
修改图片内容,且不能修改掉jpg文件标识字节:
上传成功:
现在开始分析,是什么导致JPG文件被php解析了
_empty函数接收$name遍历,直接将$name返回视图中:return $this->view->fetch($name);

攻击者可通过上传文件,例如图片,传入$name,fetch模板进行php模板解析(将任意文件用php文件形式运行),导致getshell。

fetch()函数调用的是内置模板引擎的fetch方法, 这个方法实际上就是将要输出的页面内容赋值给一个变量,为了方便,thinkphp在对模板渲染的过程中,添加了php标签功能,使得其可以解析php代码。
在验证是否为模板文件,可以看到if (!is_file($template)) ,来判断是否存在,如果存在就将文件进行php解析。

————————————————
版权声明:本文为CSDN博主「ATOM_123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39811856/article/details/113888232

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 21:40 , Processed in 0.014946 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表