DedeCMS V5.7 SP2前台文件上传漏洞(CVE-2018-20129)
DedeCMS V5.7 SP2前台文件上传漏洞(CVE-2018-20129)
一、漏洞描述
织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统。Dedecms V5.7 SP2版本中的uploads/include/dialog/select_images_post.php文件存在文件上传漏洞,远程攻击者可以利用该漏洞上传并执行任意PHP代码。
该漏洞利用条件:1、需要开发会员注册功能 2、权限必须是管理员,普通用户无法写入文件
二、漏洞环境搭建
1、官方下载DeDeCMS V5.7 SP2(UTF-8),下载地址: http://www.dedecms.com/products/dedecms/downloads/
2、使用phpstudy搭建web环境
3、把下载好的源码放到网站根目录下(www),然后开启phpstudy, 浏览器访问http://192.168.10.171/dedecms/uploads/install/index.php

4、点击我已阅读并继续。然后是环境检测,保存默认即可

5、接下来是参数配置,需要设置的只有数据库密码,把自己的密码填上去就行了

6、然后就把环境搭好了

7、登录后台,开启会员功能

三、漏洞复现
1、首先进入会员中心,必须是管理员的权限,因为后面上传文件有权限限制。进入会员中心后进入内容中心模块

2、发布一个文章,点击下面的编辑器的上传图片按钮。

3、测试上传一个test.jpg的图片但是内容只有php一句话,下图返回可以看到上传失败

4、测试上传一个test.jpg的图片但是内容只有php一句话和图片的标识头

5、查看代码,在dedecms\include\dialog\select_images_post.php中的36行,过滤了一些看起来不正常的字符,可以通过以.p*hp后缀来绕过这行代码

6、在38行处判断了文件名是否包含了$cfg_imgtype的字符。查看cfg_imgtype所在的位置dedecms\install\config.cache.inc.php,可以构造abc.p*hp可以绕过36和38行代码

7、从上面的正则表达式中可以看到,*、%、?、<>可以绕过限制,这里以”*”为例,构造payload绕过
7.1、点击上传,选择准备好的一句话图片木马文件(一个test.jpg的图片但是内容只有php一句话和图片的标识头)


7.2、用burp工具抓包,将test.jpg改为test.jpg.p*hp,下图可以看到成功上传,但是不知道上传的路径

7.3 制作一个隐藏度高点的图片马(图片不损坏),然后上传

7.4下图可以看到成功上传并且返回了上传的地址

8、菜刀连接访问,解析失败,无法连接,可能是图片和一句话制作的图片马影响了解析
9、通过上传图片马获得的上传地址,浏览器访问http://192.168.10.171/dedecms/uploads/uploads/allimg/190808

10、点击上图的位置,可以看到如下图所示,说明这个是之前上传的那个没有返回上传地址一句话木马

11、菜刀连接

四、漏洞防御
1、 在服务器端使用”白名单”的方式检查上传文件的类型
2、 强制将所上传的图片的后缀修改”.jpg”,”.png”,”.gif”等格式
3、 升级版本
DedeCMS V5.7 SP2前台文件上传漏洞(CVE-2018-20129)的更多相关文章
- CVE-2018-20129:DedeCMS V5.7 SP2前台文件上传漏洞
一.漏洞摘要 漏洞名称: DedeCMS V5.7 SP2前台文件上传漏洞上报日期: 2018-12-11漏洞发现者: 陈灿华产品首页: http://www.dedecms.com/软件链接: ht ...
- 关于finecms v5 会员头像 任意文件上传漏洞分析
看到我私藏的一个洞被别人提交到补天拿奖金,所以我干脆在社区这里分享,给大家学习下 本文原创作者:常威,本文属i春秋原创奖励计划,未经许可禁止转载! 1.定位功能 下载源码在本地搭建起来后,正常登陆了用 ...
- 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞分析
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...
- 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chichu/ ...
- 【原创】JEECMS v6~v7任意文件上传漏洞(1)
文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...
- PHP任意文件上传漏洞CVE-2015-2348浅析
昨晚安全新闻爆出一个“PHP任意文件上传漏洞”,CVE编号为:CVE-2015-2348. 当时楼主正准备收拾东西回家,看到这个新闻心里一惊:失传江湖多年的0字符截断上传漏洞又重现了?而且还影响这么多 ...
- phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)
phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399) 一.漏洞描述 PHPCMS 9.6.0版本中的libs/classes/attachment.class.php文件存在漏洞 ...
- web文件上传漏洞
什么是文件上传漏洞? 指利用系统的对文件上传部分的控制不足或处理缺陷,上传可执行的动态脚本文件/webShell进行攻击行为. 原因 对于上传文件的后缀名(扩展名)没有做较为严格的限制 对于上传文件的 ...
- PHPcms v9.6.0 文件上传漏洞
title: PHPcms v9.6.0 文件上传漏洞 date: 2021-4-5 tags: 渗透测试,CVE漏洞复现,文件上传 categories: 渗透测试 CVE漏洞复现 文件上传 PHP ...
随机推荐
- HDU 2121:Ice_cream’s world II(不定根的最小树形图)
题目链接 题意 求有向图的最小生成树,且根不定. 思路 最小树形图即求有向图的最小生成树,用的是朱刘算法. 这里不定根,那么可以建立一个虚根,让虚根和所有点相连,权值为一个很大的数(这里直接设为所有边 ...
- flask请求上下文 (转)
本篇阅读目录 一.flask中的CBV 二.werkzeug + 上下文初步解读 三.偏函数和线程安全 回到顶部 一.flask中的CBV 对比django中的CBV,我们来看一下flask中的CBV ...
- 嵊州D2T2 八月惊魂 全排列 next_permutation()
嵊州D2T2 八月惊魂 这是一个远古时期的秘密,至今已无人关心. 这个世界的每个时代可以和一个 1 ∼ n 的排列一一对应. 时代越早,所对应的排列字典序就越小. 我们知道,公爵已经是 m 个时代前的 ...
- 卸载 python 3.7.3 再安装 遇到 error 0x80070001
这件事告诉我,千万不要手贱,闲的发慌蛋疼 手贱把用得好好的python 3.7.3 卸载后怎么装也装不回去, 告诉我遇到了 error 0x80070001 最终还是靠强大的谷歌找到了办法,幸好没有重 ...
- 基于webpack4+vue-cli3项目的换肤功能
起因 最近因公司需求,需要实现主题换肤功能,不仅仅是颜色的更改,还需要包括图片,字体等文件等更换,因此在百度里各种实现方案后,决定根据scss+style-loader/useable做换肤. 项目开 ...
- 如何进行高效的源码阅读:以Spring Cache扩展为例带你搞清楚
摘要 日常开发中,需要用到各种各样的框架来实现API.系统的构建.作为程序员,除了会使用框架还必须要了解框架工作的原理.这样可以便于我们排查问题,和自定义的扩展.那么如何去学习框架呢.通常我们通过阅读 ...
- mysql -h139.129.205.80 -p test_db_dzpk < db.dump
mysqldump -h139.129.205.80 -uroot -p db_a > db_dzpk.dump mysql -h139.129.205.80 -p test_db< db ...
- Python学习1——Python中的 split() 函数
函数:split() Python中有split()和os.path.split()两个函数,此处简单介绍split()函数:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的 ...
- Sequencial Minimal Optimization-a Fast Alg for Training SVM(译文)
- 给hexo添加宠物
开始 之前在博客园上看到,公告栏里有人竟然在养鱼,觉得很好玩!一直念念不忘的,于是就想着在hexo中也来养几只,因为我用的事Next的Muse主题,所以有一个非常合适的侧边栏,先来看看效果. 点击此处 ...