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)的更多相关文章

  1. CVE-2018-20129:DedeCMS V5.7 SP2前台文件上传漏洞

    一.漏洞摘要 漏洞名称: DedeCMS V5.7 SP2前台文件上传漏洞上报日期: 2018-12-11漏洞发现者: 陈灿华产品首页: http://www.dedecms.com/软件链接: ht ...

  2. 关于finecms v5 会员头像 任意文件上传漏洞分析

    看到我私藏的一个洞被别人提交到补天拿奖金,所以我干脆在社区这里分享,给大家学习下 本文原创作者:常威,本文属i春秋原创奖励计划,未经许可禁止转载! 1.定位功能 下载源码在本地搭建起来后,正常登陆了用 ...

  3. 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞分析

      0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...

  4. 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞

    0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chichu/ ...

  5. 【原创】JEECMS v6~v7任意文件上传漏洞(1)

    文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...

  6. PHP任意文件上传漏洞CVE-2015-2348浅析

    昨晚安全新闻爆出一个“PHP任意文件上传漏洞”,CVE编号为:CVE-2015-2348. 当时楼主正准备收拾东西回家,看到这个新闻心里一惊:失传江湖多年的0字符截断上传漏洞又重现了?而且还影响这么多 ...

  7. phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)

    phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399) 一.漏洞描述 PHPCMS 9.6.0版本中的libs/classes/attachment.class.php文件存在漏洞 ...

  8. web文件上传漏洞

    什么是文件上传漏洞? 指利用系统的对文件上传部分的控制不足或处理缺陷,上传可执行的动态脚本文件/webShell进行攻击行为. 原因 对于上传文件的后缀名(扩展名)没有做较为严格的限制 对于上传文件的 ...

  9. PHPcms v9.6.0 文件上传漏洞

    title: PHPcms v9.6.0 文件上传漏洞 date: 2021-4-5 tags: 渗透测试,CVE漏洞复现,文件上传 categories: 渗透测试 CVE漏洞复现 文件上传 PHP ...

随机推荐

  1. 对比 C++ 和 Python,谈谈指针与引用

    花下猫语:本文是学习群内 樱雨楼 小姐姐的投稿.之前已发布过她的一篇作品<当谈论迭代器时,我谈些什么?>,大受好评.本文依然是对比 C++ 与 Python,来探讨编程语言中极其重要的概念 ...

  2. 用PHP抓取百度贴吧邮箱数据

    注:本程序可能非常适合那些做百度贴吧营销的朋友. 去逛百度贴吧的时候,经常会看到楼主分享一些资源,要求留下邮箱,楼主才给发. 对于一个热门的帖子,留下的邮箱数量是非常多的,楼主需要一个一个的去复制那些 ...

  3. 【DFS练习】Pku1950 Dessert-C++

    这道题和这道题很类似. 这里还是说一下坑点,因为前一道题'等式'的加数只有9个,但是这道题目最大到了15,所以在选择不加符号的时候需要判断是用100去乘还是用10去乘就可以了. 基本代码稍微把相关的9 ...

  4. VSCode 云同步扩展设置 Settings Sync 插件

    VSCode 云同步扩展设置 Settings Sync 插件 Hi.大家好,今天又是美好的一天. 关于 Settings Sync扩展: Settings Sync可以同步你当前的VSCode配置环 ...

  5. R018---RPA是什么东东?

    1.缘起 这个问题,很多文章回答过,一直想站在客户角度写个答案,今天正好. 2.RPA的名字  RPA是英文Robotic Process Automation的缩写,中文爱翻译为“流程自动化机器人” ...

  6. 抓包自定义过滤器需加%XXXX%,如%third_play%

    抓包自定义过滤器需加%XXXX%,如%third_play%

  7. c语言进阶9-值传递与地址传递

    一.  函数的值传递 函数的值传递是指参数为基本类型时,如整型.浮点型.字符型(特指单字符型)时,参数传递时是从实参拷贝一份值传给形参,形参的变化不会影响实参的值. 1.        基本类型做参数 ...

  8. Python连载24-函数list&read&seek

    一. 函数list (1)定义:用打开的文件作为参数,把文件内的每一行内容作为一个元素 (2)格式:list(文件) (3)例子: with open(r"test01.txt", ...

  9. PHP 跨域处理

    PHP 跨域处理 跨域访问失败是会出现 No 'Access-Control-Allow-Origin' header is present on the requested resource. Or ...

  10. win7 开机网络等待,应用打不开的解决方案

    状况描述:最近,笔记本电脑开机之后,网络图标一直转圈,任何应用程序也打不开,开机关机还是可以的,之前是偶尔发生这种情况,然后重启一下或许就行了,但最近每次开机都是这个情况,很恼火,在网上百度了很久,有 ...