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 ...
随机推荐
- DRF 版本、认证、权限、限制、解析器和渲染器
目录 一.DRF之版本控制 为什么要有版本控制? DRF提供的版本控制方案 版本的使用 全局配置 局部配置(使用较少) 二.DRF之认证 内置的认证 步骤 三.DRF之权限 1.自定义一个权限类 2. ...
- Linux命令学习-mv命令
Linux中,mv命令的全称是move,主要作用是移动文件或文件夹,类似于Windows下的剪切功能,同时还可以用于修改名字. 假设当前处于wintest用户的主目录,路径为 /home/wintes ...
- java操作mongo
语法正确时,字段不匹配时,Mongo并不会抛出异常,这在语句调试时需多加注意. mongo自身的时间存储格式与java中的并不是完全匹配,Mongo采用UTC格式,而java中一般为GMT格式,有个时 ...
- python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)
简介 上一篇,我们虽然已经将生成的最新的测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们的代码,实现可以发送带有附件的邮件.发送带附件的需要导入另外一个模块 ...
- 我的it博客开张啦
今天怀着激动地心情,在这里写下第一篇开博.之前也在新浪.网易等申请过博客,并且将新浪博客作为我的个人技术博客,当有一天看到cnblog时,觉得这里的博客以一本精美的书的批复呈现时,顿觉得很有...咋说 ...
- 微信小程序开发--页面结构
一.微信小程序开发--页面文件组成 [page.name].js 页面逻辑文件,用于创建页面对象,以及处理页面生命周期控制和数据处理 [page.name].wxml wxml指的是Wei Xin M ...
- ZIP:ZipEntry
ZipEntry: /* 此类用于表示 ZIP 文件条目. */ ZipEntry(String name) :使用指定名称创建新的 ZIP 条目. ZipEntry(ZipEntry e) :使用从 ...
- 个人永久性免费-Excel催化剂功能第105波-批量调整不规范的图形对象到单一单元格内存储
在日常制表过程中,一个不得不面对的问题,许多的工作起点是基于其他人加工过的表格,无论自己多大的本领,面对不规范的其他人的制作的表格,经过自己的手,该擦的屁股还是要自己去亲手去擦,而带出来的也只会是一堆 ...
- vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete)
vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete) 手把手式笔记 Axios配置 安装 axios ...
- C#3.0新增功能02 匿名类型
连载目录 [已更新最新开发文章,点击查看详细] 匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型. 类型名由编译器生成,并且不能在源代码级使用. 每 ...