返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
DEDECMS当前位置:首页 > cms教程 > 综合cms > DEDECMS > 正文

阿里云ecs提示的dedecms各种漏洞以及修复方法汇总

发布时间:2019-09-10 17:01:58   来源:   点击:
(1)dedecms SQL注入漏洞
dedecms的/dedecms/member/album_add.php文件中,对输入参数mtypesid未进行int整型转义,导致SQL注入的发生。
打开dedecms/member/album_add.php文件,查找以下代码(大约220行左右)
  1. $description = HtmlReplace($description, -1);//2011.06.30 增加html过滤 (by:织梦的鱼) 
将上面的代码替换为:
  1. $description = HtmlReplace($description, -1);//2011.06.30 增加html过滤 (by:织梦的鱼) 
  2. $mtypesid = intval($mtypesid); 
(2)dedecms cookies泄漏导致SQL漏洞
dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。
修复处1:首先找到这个文件/member/article_add.php,83行左右找到代码:
  1. if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode)) 
修改为:
  1. if ( empty($dede_fieldshash) || ( $dede_fieldshash != md5($dede_addonfields . $cfg_cookie_encode) && $dede_fieldshash != md5($dede_addonfields . 'anythingelse' . $cfg_cookie_encode)) ) 

修复处2:文件为/member/inc/inc_archives_functions.php,搜索(大概在239行) :
  1. echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields.$cfg_cookie_encode)."\" />"
修改为:
  1. echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5('anythingelse'.$cfg_cookie_encode)."\" />"

(3)DedeCMS v5.7 注册用户任意文件删除漏洞
dedecms前台任意文件删除(需要会员中心),发表文章处,对于编辑文章的时候图片参数处理不当,导致了任意文件删除
打开/member/inc/archives_check_edit.php找到大概第92行的代码:
  1. $litpic =$oldlitpic; 
修改为:
  1. $litpic =$oldlitpic; if (strpos( $litpic, '..') !== false || strpos( $litpic, $cfg_user_dir."/{$userid}/" ) === false) exit('not allowed path!'); 
(4)dedecms模版SQL注入漏洞
dedecms的/member/soft_add.php中,对输入模板参数$servermsg1未进行严格过滤,导致攻击者可构造模版闭合标签,实现模版注入进行GETSHELL。
打开文件/member/soft_add.php,搜索(大概在154行):
  1. $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n"
替换为:
  1. if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) != 1) { 
  2.   $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n"
(5)dedecms上传漏洞
dedecms过滤逻辑不严导致上传漏洞。
解决方法:
1、打开include/uploadsafe.inc.php文件,找到第8行或者搜索
  1. $cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml"
替换为:
  1. $cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml|htm|html"
2、找到第52行或者搜索
  1. $image_dd = @getimagesize($$_key); 
在其下面添加:
  1. if($image_dd == false){ continue; } 
(6)dedecms任意文件上传漏洞
dedecms变量覆盖漏洞导致任意文件上传。
修复方法找到/include/dialog/select_soft_post.php文件,在里面找到如下代码
  1. $fullfilename = $cfg_basedir.$activepath.'/'.$filename; 
在其上面添加如下代码:
  1. if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) { 
  2. ShowMsg("你指定的文件名被系统禁止!",'javascript:;'); 
  3. exit(); 
(7)dedecms留言板注入漏洞。
找到路径如下文件/plus/guestbook/edit.inc.php,在该文件中找到如下内容

  1. $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' "); 
  2. ShowMsg("成功更改或回复一条留言!", $GUEST_BOOK_POS); 
在这两行上面插入
  1. $msg = addslashes($msg); //插入这句 
  2. $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' "); 
(8)dedecms后台文件任意上传漏洞
dedecms早期版本后台存在大量的富文本编辑器,该控件提供了一些文件上传接口,同时dedecms对上传文件的后缀类型未进行严格的限制,这导致了黑客可以上传WEBSHELL,获取网站后台权限
修复方法,主要是文件/dede/media_add.php或者/你的后台名字/media_add.php。
搜索$fullfilename = $cfg_basedir.$filename;(大概在69行左右)
替换成
  1. if (preg_match('#\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) { ShowMsg("你指定的文件名被系统禁止!",'java script:;'); exit(); } $fullfilename = $cfg_basedir.$filename; 

  








相关栏目
热门文章
最新图文
评论排行
版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814