Dedecms V5.7 前台文件上传漏洞CVE-2018-20129

复现版本

dedeCMS sp2 20180109 官方版本v5.7.74

漏洞描述

Dedecms V5.7.74版本前台文件上传漏洞,管理员用户前台可以绕过限制上传shell

漏洞分析

dedecms\include\dialog\select_images_post.php中的36行过滤了一些特殊字符,代码的作用是将变量 $imgfile_name 中的特定字符(包括空格、换行符、制表符和一些特殊字符)替换为空字符串,并且移除最终结果字符串两侧可能存在的空格或其他指定字符。38行正则匹配文件后缀,cfg_imgtype所在的位置dedecms\install\config.cache.inc.php,如果 $imgfile_name 变量中不包含 $cfg_imgtype 定义的图片类型(扩展名),则执行接下来的代码。44行规定文件上传类型。可以使用*、%、?、<>可以绕过限制

漏洞利用

必须是管理员的账号,因为后面上传文件有权限限制,点击发表文章的图像上传按钮

然后将制作的图片马上传文件到服务器上

抓包修改文件名

返回上传的路径

用蚁剑成功连接

修复建议

  • 对于36行的代码,建议使用更严格的过滤规则来替换特殊字符。可以考虑使用白名单的方式,只允许特定的字符出现在 $imgfile_name 中。
  • 在38行的正则匹配文件后缀时,建议检查文件名是否真的以定义的图片类型结尾,而不仅仅是包含这些扩展名中的一个。这可以通过使用 \b 来限制匹配单词边界。
  • 对于44行规定文件上传类型,应该避免使用通配符或者特殊字符,而是明确指定允许的文件类型列表,并且在服务器端再次验证文件类型和内容。
  • 另外,推荐定期更新并审查安装目录下的配置文件,确保其中的敏感信息和设置符合最佳实践,并及时修复已知的安全漏洞。

参考文章

DedeCMS文件上传漏洞分析 – FreeBuf网络安全行业门户

暂无评论

发送评论 编辑评论


				
上一篇
下一篇