您的位置:首页 > 其它

DeDeCMS 漏洞修改汇总

2018-02-28 13:38 190 查看
1、标题: dedecms模版SQL注入漏洞披露时间: 1970-01-01 08:00:00简介:
dedecms的/member/soft_add.php中,对输入模板参数$servermsg1未进行严格过滤,导致攻击者可构造模版闭合标签,实现模版注入进行GETSHELL。
解决方案:
方案一:使用云盾自研补丁进行一键修复;方案二:更新该软件到官方最新版本或寻求该软件提供商的帮助。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】修改的

方法:
解决办法:打开根目录下/member/soft_add.php(在154行),
$urls .="{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\
4000
r\n";
替换为:
if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) !=1) {   $urls .="{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n";}
2、标题: dedecms支付模块注入漏洞   

简介:
DEDECMS支付插件存在SQL注入漏洞,此漏洞存在于/include/payment/alipay.php文件中,对输入参数$_GET['out_trade_no']未进行严格过滤。

文件在include/payment/下面include/payment/alipay.php,搜索(大概在137行的样子)

      $order_sn =trim($_GET['out_trade_no']);
      修改为

      $order_sn =trim(addslashes($_GET['out_trade_no']));

3、标题: dedecms后台文件任意上传漏洞披露时间: 1970-01-01 08:00:00简介:
dedecms早期版本后台存在大量的富文本编辑器,该控件提供了一些文件上传接口,同时dedecms对上传文件的后缀类型未进行严格的限制,这导致了黑客可以上传WEBSHELL,获取网站后台权限。


修复方法:
打开/dede/media_add.php(dede是你的后台文件夹,请自行修改)
搜索(大概在69行左右):
$fullfilename =$cfg_basedir.$filename; 
在上面增加一句:
/***********修改文件开始*************/
            if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) { 
                ShowMsg("你指定的文件名被系统禁止!",'javascript:;'); exit(); }
                 $fullfilename =$cfg_basedir.$filename;

            /***********修改文件结束*************/

4、标题: dedecms cookies泄漏导致SQL漏洞披露时间: 1970-01-01 08:00:00简介:
dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。


搜索代码:if (empty($dede_fieldshash) || $dede_fieldshash !=md5($dede_addonfields.$cfg_cookie_encode))    (大概在83行)

修改为:
if (empty($dede_fieldshash) || ( $dede_fieldshash !=md5($dede_addonfields . $cfg_cookie_encode) && $dede_fieldshash !=md5($dede_addonfields . 'anythingelse' . $cfg_cookie_encode)))

5、标题: dedecms cookies泄漏导致SQL漏洞披露时间: 1970-01-01 08:00:00简介:
dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。


解决方法:打开\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(
$dede_addonfields
.
"anythingelse"
.
$cfg_cookie_encode
).
"\" />"
;
修改文件前请做好文件备份。将新的inc_archives_functions.php文件上传替换阿里云服务器上即可解决此问题。6、漏洞名称:dedecms 上传漏洞漏洞文件:include/uploadsafe.inc.php漏洞描述: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
; }
修改文件前请做好文件备份,将新的uploadsafe.inc.php文件上传替换阿里云服务器上即可解决此问题6)简介:
dedecms的/dedecms/member/album_add.php文件中,对输入参数mtypesid未进行int整型转义,导致SQL注入的发生。


修复方法:
打开dedecms/member/album_add.php文件,查找以下代码(大约220行左右)
$description =HtmlReplace($description, -1);//2011.06.30 增加html过滤 (by:织梦的鱼)
将上面的代码替换为:
$description =HtmlReplace($description, -1);//2011.06.30 增加html过滤 (by:织梦的鱼)
$mtypesid =intval($mtypesid);
7、漏洞名称:dedecms SESSION变量覆盖导致SQL注入漏洞描述:dedecms的/plus/advancedsearch.php中,直接从SESSION[SESSION[sqlhash]获取值作为$query带入SQL查询,这个漏洞的利用前提是session.auto_start =1即开始了自动SESSION会话,云盾团队在dedemcs的变量注册入口进行了通用统一防御,禁止SESSION变量的传入dedecms SESSION变量覆盖导致SQL注入common.inc.php的解决方法1、搜索如下代码(68行):if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )2、替换 68 行代码,替换代码如下:if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#',$svar) )修改前请备份好文件,将新的/include/common.inc.php 文件上传替换阿里云服务器上的即可解决此问题。8、
简介:
dedecms会员中心注入漏洞。
解决方案:
方案一:使用云盾自研补丁进行一键修复;方案二:更新该软件到官方最新版本或寻求该软件提供商的帮助【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】修复方法:member/mtypes.php 在$name =HtmlReplace($name);下面添加/* 对$id进行规范化处理 */        $id =intval($id);      /* */9,/plus/guestbook/edit.inc.php  dedecms注入漏洞,其实就是留言版注入漏洞
没有对$msg过滤,导致可以任意注入,找到
$msg =HtmlReplace($msg, -1);  
    $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");  
    ShowMsg("成功更改或回复一条留言!", $GUEST_BOOK_POS);  
    exit();  
修复:
$msg =addslashes(HtmlReplace($msg, -1));  
    $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");  
    ShowMsg("成功更改或回复一条留言!", $GUEST_BOOK_POS);  
    exit();  
加入: addslashes进行过滤
10. /member/pm.php文件,搜索(大概在65行左右)$row =$dsql->GetOne("SELECT * FROM `dede_member_pms` WHERE id='$id' AND (fromid='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");修改为$id =intval($id); //将$id 转换为int类型$row =$dsql->GetOne("SELECT * FROM `dede_member_pms` WHERE id='$id' AND (fromid='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: