内容简介:2018-12-11 在经过分析验证。该漏洞要求管理员权限登录。并且要开启会员功能,这个功能在默认情况下是不开启,需要管理员手动开启。
0x00 漏洞背景
2018-12-11 在 CVE中文申请站 公布了一个 DEDECMS 5.7 SP2 最新版本中存在文件上传漏洞,具有管理员权限者可利用该漏洞上传并getshell执行任意 PHP 代码。
经过分析验证。该漏洞要求管理员权限登录。并且要开启会员功能,这个功能在默认情况下是不开启,需要管理员手动开启。
经过360CERT判断,该漏洞危害小,影响面有限。但还是推荐使用DedeCMS的用户进行相关验证,并执行修复建议。
0x01 漏洞详情
include/dialog/config.php 在dialog操作的时候,针对用户权限进行校验。这就限制了必须是管理员。
随后 include/dialog/select_images_post.php 进行图片的校验,在这里可以明显的看到逻辑错误,这里针对文件名中的异常符号进行了替换为”的操作,并且随后的正则过滤条件限定宽松。导致漏洞产生。
对数据包进行修改
漏洞
同时在分析中发现一处有意思的点
如果要开启会员功能,需要访问到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前台文件上传getshell漏洞预警》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python Algorithms
Magnus Lie Hetland / Apress / 2010-11-24 / USD 49.99
Python Algorithms explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it......一起来看看 《Python Algorithms》 这本书的介绍吧!