漏洞

织梦dedecms后台文件media_add.php任意上传漏洞解决办法

织梦在安装到阿里云服务器后阿里云后台会提示media_add.php后台文件任意上传漏洞,引起的文件是后台管理目录下的media_add.php文件,下面跟大家分享一下这个漏洞的修复方法: 首先找到并打开后台管理目录下的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织梦阿里云安全中心提示留言板注入漏洞解决方法

漏洞描述: dedecms注入漏洞 dedecms留言板注入漏洞。 /plus/guestbook/edit.inc.php 这个是一个dedecms留言板注入漏洞,因为没有对$msg过滤,导致可以任意注入,处理方案如下: 打开/plus/guestbook/edit.inc.php,搜索以下代码: else if($job=='editok') 修改为: else if($job=='editok') { $remsg = trim($remsg); /* 验证$g_isadmin */ if($remsg!='') { //管理员回复不过滤HTML if($g_isadmin) { $msg = "<div class=\\'rebox\\'>".$msg."</div>\n".$remsg; //$remsg <br><font color=red>管理员回复:</font> } else { $row = $dsql->GetOne("SELECT msg From `a15_guestbook` WHERE id='$id' "); $oldmsg = "<div class=\\'rebox\\'>".addslashes($row['msg'])."</div>\n"; $remsg = trimMsg(cn_substrR($remsg, 1024), 1); $msg = $oldmsg.$remsg; } } /* */ /* 对$msg进行有效过滤 */ $msg = addslashes($msg); /* */ $dsql->ExecuteNoneQuery("UPDATE `a15_guestbook` SET `msg`='$msg', `posttime`='"

dedecms织梦阿里云安全中心提示上传漏洞解决方法

志汇网络接手的一个企业站用的dedecms,这么成熟CMS怎么有这么多漏洞,百度快照都被劫持了,阿里云的云安全中心已经提示报警,接下来一个一个解决。 漏洞描述: dedecms过滤逻辑不严导致上传漏洞。 修改/include/uploadsafe.inc.php文件 <?php if(!defined('DEDEINC')) exit('Request Error!'); if(isset($_FILES['GLOBALS'])) exit('Request not allow!'); //为了防止用户通过注入的可能性改动了数据库 //这里强制限定的某些文件类型禁止上传 $cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml"; $keyarr = array('name', 'type', 'tmp_name', 'size'); if ($GLOBALS['cfg_html_editor']=='ckeditor' && isset($_FILES['upload'])) { $_FILES['imgfile'] = $_FILES['upload']; $CKUpload = TRUE; unset($_FILES['upload']); } foreach($_FILES as $_key=>$_value) { foreach($keyarr as $k) { if(!isset($_FILES[$_key][$k])) { exit('Request Error!'); } } if( preg_match('#^(cfg_|GLOBALS)#', $_key) ) { exit('Request var not allow for uploadsafe!'); } $$_key = $_FILES[$_key]['tmp_name']; ${$_key.'_name'} = $_FILES[$_key]['name']; ${$_key.'_type'} = $_FILES[$_key]['type'] = preg_replace('#[^0-9a-z\.