欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

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

来源:本站整理 作者:佚名 时间:2018-12-23 TAG: 我要投稿

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发布预警
 

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载