开源CMS系统源码分析及漏洞利用

  • A+
所属分类:安全文章

开源CMS系统源码分析及漏洞利用

0x00 简述


近日偶然发现一个开源CMS框架,想拿来练练手巩固一下很久不用的PHP安全知识,找到一处文件上传漏洞,和各位师傅一起学习学习。


CMS代码地址:

https://github.com/taosir/wtcms

主页:

开源CMS系统源码分析及漏洞利用


0x01 演示
1、登录后台后,进入注册邮件模板功能

开源CMS系统源码分析及漏洞利用


2、使用编辑器上传一张图片,并抓包修改文件名及文件内容

开源CMS系统源码分析及漏洞利用

开源CMS系统源码分析及漏洞利用

3、访问上传的php文件

开源CMS系统源码分析及漏洞利用


0x02 代码分析
/wtcms-master/application/Asset/Controller/UeditorController.class.php
这里用的ueditor进行上传,这里只要保证action是uploadimage、uploadscrawl、uploadvideo、uploadfile中的一个使得能进入_ueditor_upload函数就可以

开源CMS系统源码分析及漏洞利用


跟进_ueditor_upload函数,获取上传文件信息后调用了upload函数进行上传

开源CMS系统源码分析及漏洞利用


继续跟进upload,最开始是一些常规检查包括文件有无、上传目录等。后面通过pathinfo获取文件后缀名,因为这里我们修改了请求包,所以$file['ext']的值就是php。接着调用了check函数进行上传检测。

开源CMS系统源码分析及漏洞利用


这里我们只要看文件后缀名的检查就好了

开源CMS系统源码分析及漏洞利用


但是到这里,config['exts']的值没有定义,为null,所以checkExt()会返回true

开源CMS系统源码分析及漏洞利用


最后看下文件保存,config['saveExt']的值为空,所以这里取得后缀是之前pathinfo得出的后缀名也就是php,成功在服务器目录下生成php文件

开源CMS系统源码分析及漏洞利用


往期精彩


登陆页面的检测及渗透

渗透实战篇(一)

渗透测试信息收集的方法

常见Web中间件漏洞利用及修复方法

内网渗透 | 流量转发场景测试

Waf从入门到Bypass

实战渗透-看我如何拿下学校的大屏幕

技术篇:bulldog水平垂直越权+命令执行+提权

渗透工具实战技巧大合集 | 先收藏点赞再转发一气呵成


开源CMS系统源码分析及漏洞利用

感兴趣的可以点个关注!!!

开源CMS系统源码分析及漏洞利用

关注「安全先师」
把握前沿安全脉搏



本文始发于微信公众号(安全先师):开源CMS系统源码分析及漏洞利用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: