阿里云提示dedecms织梦常见的sql注入漏洞以及其他漏洞修复
用过阿里云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
本文版权归原作者所有,转载请注明原文来源出处,学技巧网站制作感谢您的支持!