多语言展示
当前在线:537今日阅读:23今日分享:25

dedecms漏洞列表总结

1、dedecms SQL注入漏洞 /dedecms/member/album_add.php对输入参数mtypesid未进行int整型转义,导致SQL注入的发生。2、DedeCMS v5.7 注册用户任意文件删除漏洞/member/inc/archives_check_edit.phpdedecms前台任意文件删除(需要会员中心),发表文章处,对于编辑文章的时候图片参数处理不当,导致了任意文件删除3、dedecms cookies泄漏导致SQL漏洞/member/inc/inc_archives_functions.phpdedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。4、dedecms模版SQL注入漏洞/member/soft_add.php对输入模板参数$servermsg1未进行严格过滤,导致攻击者可构造模版闭合标签,实现模版注入进行GETSHELL。5、dedecms cookies泄漏导致SQL漏洞/member/article_add.phpdedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。6、dedecms后台文件任意上传漏洞/dede/media_add.phpdedecms早期版本后台存在大量的富文本编辑器,该控件提供了一些文件上传接口,同时dedecms对上传文件的后缀类型未进行严格的限制,这导致了黑客可以上传WEBSHELL,获取网站后台权限。7、dedecms注入漏洞/plus/guestbook/edit.inc.phpdedecms留言板注入漏洞。8、dedecms上传漏洞/include/uploadsafe.inc.phpdedecms过滤逻辑不严导致上传漏洞。
工具/原料

aliyun、 云盾 、云安全中心 、漏洞修复、dedecmsv5.7sp2(20180109)版本

方法/步骤
1

打开dedecms/member/album_add.php文件,查找以下代码(大约220行左右)代码 $description = HtmlReplace($description, -1);下方加$mtypesid = intval($mtypesid);

2

打开/member/inc/archives_check_edit.php文件,查找以下代码(大约92行左右)代码 $litpic =$oldlitpic;下方加if (strpos( $litpic, '..') !== false || strpos( $litpic, $cfg_user_dir.'/{$userid}/' ) === false) exit('not allowed path!');

3

打开/member/inc/inc_archives_functions.php文件,查找以下代码(大约239行左右)代码 echo '';替换为:echo '';

4

打开/member/soft_add.php文件,查找以下代码(大约155行左右)代码 $urls .= '{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n';替换为:if (preg_match('#}(.*?){/dede:link}{dede:#sim', $servermsg1) != 1) { $urls .= '{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n'; }

5

打开/member/article_add.php文件,查找以下代码(大约83行左右)代码 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)) )

6

打开/dede/media_add.php文件,查找以下代码(大约70行左右)代码 $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();             }

7

打开/plus/guestbook/edit.inc.php文件,查找以下代码(大约54行左右)代码 $msg = HtmlReplace($msg, -1);替换为:$msg = addcslashes(HtmlReplace($msg, -1));

8

打开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';查找以下代码(大约53行左右)代码 $image_dd = @getimagesize($$_key);下面添加:if($image_dd == false){ continue; }

9

然后进入aliyun后台  点击验证,如图所示

推荐信息