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

栏目: 编程工具 · 发布时间: 7年前

内容简介:2018-12-11 在经过分析验证。该漏洞要求管理员权限登录。并且要开启会员功能,这个功能在默认情况下是不开启,需要管理员手动开启。

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

0x00 漏洞背景

2018-12-11 在 CVE中文申请站 公布了一个 DEDECMS 5.7 SP2 最新版本中存在文件上传漏洞,具有管理员权限者可利用该漏洞上传并getshell执行任意 PHP 代码。

经过分析验证。该漏洞要求管理员权限登录。并且要开启会员功能,这个功能在默认情况下是不开启,需要管理员手动开启。

经过360CERT判断,该漏洞危害小,影响面有限。但还是推荐使用DedeCMS的用户进行相关验证,并执行修复建议。

0x01 漏洞详情

include/dialog/config.php 在dialog操作的时候,针对用户权限进行校验。这就限制了必须是管理员。

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

随后 include/dialog/select_images_post.php 进行图片的校验,在这里可以明显的看到逻辑错误,这里针对文件名中的异常符号进行了替换为”的操作,并且随后的正则过滤条件限定宽松。导致漏洞产生。

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

对数据包进行修改

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

漏洞

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

同时在分析中发现一处有意思的点

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

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

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

如果要开启会员功能,需要访问到sys_info.php, 但这个文件最终会调用到dede_random_bytes, 其中有个一个关于MCRYPT_DEV_URANDOM的检测。

如果不是用的集成环境包,而是手动配置服务器,以Debain9为例,若没有安装libmcrypt-dev 这个package则会导致访问不存在的函数is_php

进而导致无法进行系统基本参数设置。

0x02 修复建议

1.文件后缀名检测进行重写。 2.对上传文件名进行统一重命名,后缀名只允许为image type类型。 3.对上传文件夹进行限制,不允许执行php。

除了上述方式以外,还可以直接进行代码层面的修改

对于受影响的正则表达式进行强化。限定$cfg_imgtype固定结尾的文件。

include/dialog/select_images_post.php

if(!preg_match("#\.(".$cfg_imgtype.")#i", $imgfile_name))
->
if(!preg_match("#\.(".$cfg_imgtype.")$#i", $imgfile_name))

0x03 时间线

2018-12-11 CVE中文申请站进行细节公开

2018-12-21 360CERT发布预警

0x04 参考链接

CVE-2018-20129:DedeCMS V5.7 SP2前台文件上传漏洞 – CVE中文申请站


以上所述就是小编给大家介绍的《CVE-2018-20129: DedeCMS V5.7 SP2前台文件上传getshell漏洞预警》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Web开发敏捷之道

Web开发敏捷之道

Sam Ruby、Dave Thomas、David Heineme Hansson / 慕尼黑Isar工作组、骆古道 / 机械工业出版社 / 2012-3-15 / 59.00元

本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前3版的内容架构基础上,第4版增加了关于Rails中新特性和最佳实践的内容。本书从逐步创建一个真正的应用程序开始,然后介绍Rails的内置功能。全书分为3部分,第一部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言的知识;第二部分用迭代方式创建应用程序,然后依据敏捷开发模式搭建测试案例,最终用Capistrano完成......一起来看看 《Web开发敏捷之道》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码