最新织梦cms漏洞之安全设置,有效防护木马(更新至20190920)(2)

作者: 本站原创  发布时间:  浏览: 24575 次

安全设置五:任意文件上传漏洞

①、漏洞文件① /include/dialog/select_soft_post.php

1$fullfilename = $cfg_basedir.$activepath.'/'.$filename;
2修改为
3if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) {
4    ShowMsg("你指定的文件名被系统禁止!",'javascript:;');
5    exit();
6}
7$fullfilename = $cfg_basedir.$activepath.'/'.$filename;

②、漏洞文件 /dede/media_add.php

这是后台文件任意上传漏洞(上面有说删除此文件,如果不删除,需要使用这个功能,那么修改以下代码补掉漏洞)

1$fullfilename = $cfg_basedir.$filename;
2修改为
3if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) {
4                ShowMsg("你指定的文件名被系统禁止!",'javascript:;');
5                exit();
6  }
7$fullfilename = $cfg_basedir.$filename;

③、漏洞文件 /include/uploadsafe.inc.php (修改两个地方)

1$image_dd = @getimagesize($$_key);
2修改为
3$image_dd = @getimagesize($$_key); if($image_dd == false){ continue; }

 

1${$_key.'_size'} = @filesize($$_key);}
2修改为
3${$_key.'_size'} = @filesize($$_key);}
4$imtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/bmp");
5if(in_array(strtolower(trim(${$_key.'_type'})), $imtypes)) { $image_dd = @getimagesize($$_key); if($image_dd == false){ continue; }
6if (!is_array($image_dd)) { exit('Upload filetype not allow !');} }
 

安全设置六、SQL注入漏洞

①、漏洞文件 /include/filter.inc.php (大概在46行)

1return $svar;
2修改为
3return addslashes($svar);


 ②、漏洞文件 /plus/search.php (大概在109行)

1$keyword = addslashes(cn_substr($keyword,30));
2修改为
3$typeid = intval($typeid); $keyword = addslashes(cn_substr($keyword,30));

③、漏洞文件 /member/mtypes.php (大概在71行)

1$query = "UPDATE `dede_mtypes` SET mtypename='$name' WHERE mtypeid='$id' AND mid='$cfg_ml->M_ID'";
2修改为
3$id = intval($id); $query = "UPDATE `dede_mtypes` SET mtypename='$name' WHERE mtypeid='$id' AND mid='$cfg_ml->M_ID'";

④、漏洞文件 /member/pm.php文件 (大概在65行)

1$row = $dsql->GetOne("SELECT * FROM `dede_member_pms` WHERE id='$id' AND (fromid='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");
2修改为
3$id = intval($id); $row = $dsql->GetOne("SELECT * FROM `dede_member_pms` WHERE id='$id' AND (fromid='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");

⑤、漏洞文件 /plus/guestbook/edit.inc.php (大概在55行)

1$dsql->ExecuteNoneQuery("UPDATE `dede_guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");
2修改为
3$msg = addslashes($msg); $dsql->ExecuteNoneQuery("UPDATE `dede_guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");;

⑥、漏洞文件 /member/soft_add.php (大概在154行)

1$urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}
2";
3修改为    
4if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) != 1)
5{ $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}
6"; }

⑦、漏洞文件 /member/article_add.php (大概在83行,cookies泄漏导致SQL漏洞)

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

⑧、漏洞文件 /member/album_add.php (大约220行,对输入参数mtypesid未进行int整型转义,导致SQL注入发生)

1$description = HtmlReplace($description, -1);//2011.06.30 增加html过滤 (by:织梦的鱼)
2修改为
3$description = HtmlReplace($description, -1);//2011.06.30 增加html过滤 (by:织梦的鱼)
4$mtypesid = intval($mtypesid);

⑨、漏洞文件 /member/inc/inc_archives_functions.php (大概在239行,cookies泄漏导致SQL漏洞)

1echo "<input type="hidden" name="dede_fieldshash" value="".md5($dede_addonfields.$cfg_cookie_encode)."" />";
2修改为
3echo "<input type="hidden" name="dede_fieldshash" value="". md5($dede_addonfields . 'anythingelse' .$cfg_cookie_encode) ."" />";

⑩、漏洞文件 /include/common.inc.php (SESSION变量覆盖导致SQL注入漏洞,最新的版本中已经修复)

1if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )
2修改为
3if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#',$svar) )


⑪、漏洞文件 /include/payment/alipay.php (支付模块注入漏洞,此漏洞织梦官方在最新的版本中已经修复)

1$order_sn = trim($_GET['out_trade_no']);
2修改为
3$order_sn = trim(addslashes($_GET['out_trade_no']));

⑫、漏洞文件 /include/dedesql.class.php (大概在590行)

1if(isset($GLOBALS['arrs1']))
2修改为
3$arrs1 = array(); $arrs2 = array(); if(isset($GLOBALS['arrs1']))

⑬、漏洞文件 /member/inc/archives_check_edit.php (大概第92行,dedecms前台任意文件删除(需要会员中心),发表文章处,对于编辑文章的时候图片参数处理不当,导致了任意文件删除)

1$litpic =$oldlitpic;
2修改为
3$litpic =$oldlitpic;
4if (strpos( $litpic, '..') !== false || strpos( $litpic, $cfg_user_dir."/{$userid}/" ) === false) exit('not allowed path!');

安全设置五:无用文件中的风险代码删除

①  dede empletslogin_ad.htm(这是织梦默认后台登陆界面的广告代码,没用,删除以下这段代码)

1<!--<script type="text/javascript" src="<?php echo UPDATEHOST;?>/dedecms/loginad.<?php echo $cfg_soft_lang; ?>.js"></script>-->
2<div class="dede-ad">
3  <ul>
4    <script type="text/javascript"src="http://ad.dedecms.com/adsview/?action=single&key=admcploginad&charset=gbk"></script>
5  </ul>
6</div>

② dede empletsindex_body.htm(织梦的后台首页模板文件,删除以下这段广告代码)

1<iframe name="showad" src="index_body.php?dopost=showad" frameborder="0" width="100%" id="showad" frameborder="0" scrolling="no"  marginheight="5"></iframe>

③ dedemodule_main.php(向织梦官网发送卸载或安装插件的信息,若服务器配置不高,或不支持采集(下载),那会卡死!注释掉以下代码)

1SendData($hash);//321行
2SendData($hash,2);//527行

④ include aglib link.lib.php(织梦官方友链上传的代码,没有用,删除,否则占用性能,甚至卡死)

1else if($typeid == 999)
2{
3}
4//将{}里的以及上面的else全部删除

⑤ includededemodule.class.php(版本检测代码,30分钟一次,要扫描文件的!为什么管理模块打不开的原因就在这里,网站配置低的,卡死!)

1if(file_exists($cachefile) && (filemtime($cachefile) + 60 * 30) > time())
2修改为
3if(file_exists($cachefile) && filesize($cachefile) > 10)

⑥ includededesql.class.php(下面这段代码会给网站加友情链接及版权"Power by DedeCms",删除)

01$arrs1 = array(0x63,0x66,0x67,0x5f,0x70,0x6f,0x77,0x65,0x72,0x62,0x79);
02$arrs2 = array(0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x64,0x65,0x64,0x65,0x63,0x6d,0x73,0x2e,0x63,0x6f,0x6d,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x27,0x5f,0x62,0x6c,0x61,0x6e,0x6b,0x27,0x3e,0x50,0x6f,0x77,0x65,0x72,0x20,0x62,0x79,0x20,0x44,0x65,0x64,0x65,0x43,0x6d,0x73,0x3c,0x2f,0x61,0x3e);
03 
04//特殊操作
05$arrs1 = array(); $arrs2 = array(); if(isset($GLOBALS['arrs1']))
06{
07    $v1 = $v2 = '';
08    for($i=0;isset($arrs1[$i]);$i++)
09    {
10        $v1 .= chr($arrs1[$i]);
11    }
12    for($i=0;isset($arrs2[$i]);$i++)
13    {
14        $v2 .= chr($arrs2[$i]);
15    }
16    $GLOBALS[$v1] .= $v2;
17}

⑦ includecommon.func.php(会给网站加版权的,删除)

1$arrs1 = array(0x63,0x66,0x67,0x5f,0x70,0x6f,0x77,0x65,0x72,0x62,0x79);
2$arrs2 = array(0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,
30x77,0x77,0x77,0x2e,0x64,0x65,0x64,0x65,0x63,0x6d,0x73,0x2e,0x63,0x6f,0x6d,0x20,0x74,0x61,0x72,
40x67,0x65,0x74,0x3d,0x27,0x5f,0x62,0x6c,0x61,0x6e,0x6b,0x27,0x3e,0x50,0x6f,0x77,0x65,0x72,0x20,
50x62,0x79,0x20,0x44,0x65,0x64,0x65,0x43,0x6d,0x73,0x3c,0x2f,0x61,0x3e);

上一篇:Dedecms_V5.7 getshell 利用后台文件上传功能漏洞

下一篇:dedecms任意文件上传漏洞 include/dialog/select_soft_post.php 修复

相关文章

最新织梦cms漏洞之安全设置,有效防护木马(更新

织梦安全:更改plus名称

阿里云提醒/member/reg_new.php注入漏洞解决办法

织梦程序网站被挂马或快照劫持终极解决办法

dedecms织梦导致CPU峰值现象的解决办法

添加微信
添加微信,免费咨询

15205695834

新手指南支付购买售后服务关于我们版权合规
合肥秀站网络科技有限公司
Copyright 2002-2022 麦站 版权所有
皖ICP备12018676号 网站地图