专注前端,专注网页设计分享 - (网页制作/模板制作/设计)755150799 织梦模板 | 网页特效 | 网站模板 | 建站教程 | Tag标签 | 联系站长

阿里云提示dedecms织梦常见的sql注入漏洞以及其他漏洞修复

时间:2019-12-17 15:43:20来源:学技巧网站制作 作者:学技巧网页制作 阅读:0次 【 点评一下

用过阿里云ECS的小伙伴们都收到过提示吧,web-cms给出的安全提示,比较常见的就是织梦cms系统了,各种漏洞都需要修复,如果放任不管就给了黑客可乘之机了。下面学技巧就整合了各种php文件和sql漏洞的修复方法。

一、阿里云dedecms变量覆盖漏洞导致任意文件上传select_soft_post.php

dedecms变量覆盖漏洞导致任意文件上传修复:/include/dialog/select_soft_post.php文件,在里面找到如下代码

$fullfilename = $cfg_basedir.$activepath.'/'.$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();
}

添加完成后保存替换原来的文件,然后就可以去阿里云后台验证这个漏洞了。

二、dedecms后台文件任意上传漏洞

下面跟大家分享一下这个漏洞的修复方法:首先找到并打开后台管理dede目录下的media_add.php文件,在里面找到如下代码:

$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("你指定的文件名被系统禁止!",'java script:;');
      exit();
      }

三、dedecms SQL注入漏洞

dedecms的/dedecms/member/album_add.php文件中,对输入参数mtypesid未进行int整型

修复方法:

打开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);

四、dedecms cookies泄漏导致SQL漏洞

dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。修复方法如下:

找到这个文件/member/article_add.php

if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))

修改为:

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

找到\inc\inc_archives_functions.php文件,将下面这方代码

echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields.$cfg_cookie_encode)."\" />";

替换为:

echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields."dls6.com".$cfg_cookie_encode)."\" />";

然后去阿里云后台验证就发现漏洞已失效。

五、DedeCMS v5.7 注册用户任意文件删除漏洞

dedecms前台任意文件删除(需要会员中心),发表文章处,对于编辑文章的时候图片参数处理不当,导致了任意文件删除。

漏洞文件:/member/inc/archives_check_edit.php

漏洞描述:注册会员用户可利用此漏洞任意删除网站文件。

修复方法:打开/member/inc/archives_check_edit.php

找到大概第92行的代码:

$litpic =$oldlitpic;

修改为:

$litpic =$oldlitpic; if (strpos( $litpic, '..') !== false || strpos( $litpic, $cfg_user_dir."/{$userid}/" ) === false) exit('not allowed path!');

六、dedecms模版SQL注入漏洞

问题原因:dedecms的/member/soft_add.php中,对输入模板参数$servermsg1未进行严格过滤,导致攻击者可构造模版闭合标签,实现模版注入进行GETSHELL。

关于织梦dedecms模板SQL注入漏洞修复方法,主要是文件/member/soft_add.php。

搜索: $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n";   (大概在154行左右)

替换成 

if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) != 1) { $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n"; }

七、dedecms上传漏洞

漏洞描述:dedecms过滤逻辑不严导致上传漏洞。

漏洞路径:/include/uploadsafe.inc.php

解决方法:

1、打开include/uploadsafe.inc.php文件,找到第8行或者搜索

$cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml";

替换为:

$cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml|htm|html";

2、找到第52行或者搜索

$image_dd = @getimagesize($$_key);

在其下面添加:

if($image_dd == false){ continue; }

八、dedecms注入漏洞

dedecms留言板注入漏洞的修复方法:

/plus/guestbook/edit.inc.php  这个是一个dedecms留言板注入漏洞,因为没有对$msg过滤,导致可以任意注入,处理方案如下:

打开/plus/guestbook/edit.inc.php,搜索代码:

$msg = HtmlReplace($msg, -1);

修改为:在它下面加入

$msg = addslashes($msg);

学技巧提醒大家,无论怎么修改,都要提前备份一下在进行修改,以免照成不可逆转的错误。

 

  • 用微信  “扫一扫”

    将文章分享到朋友圈。

    关注公众号:xue-jiqiao

本文版权归原作者所有,转载请注明原文来源出处,学技巧网站制作感谢您的支持!