阿里云提示plus/search.php注入漏洞修复方法
漏洞描述:
dedecms变量覆盖导致注入漏洞。
阿里云提示plus/search.php注入漏洞修复方法
存在漏洞的文件/plus/search.php,找到以下代码 //引入栏目缓存并看关键字是否有相关栏目内容 require_once($typenameCacheFile); if(isset($typeArr) && is_array($typeArr)) { foreach($typeArr as $id=>$typename) { $keywordn = str_replace($typename, ‘ ‘, $keyword); if($keyword != $keywordn) { $keyword = $keywordn; $typeid = $id; //对ID没做任何过滤 导致注入 break; } } } } $keyword = addslashes(cn_substr($keyword,30)); 替换为以下代码: //引入栏目缓存并看关键字是否有相关栏目内容 require_once($typenameCacheFile); if(isset($typeArr) && is_array($typeArr)) { foreach($typeArr as $id=>$typename) { //$keywordn = str_replace($typename, ‘ ‘, $keyword); $keywordn = $keyword; if($keyword != $keywordn) { $keyword = HtmlReplace($keywordn);//防XSS $typeid = intval($id); //强制转换为数字型 break; } } } } $keyword = addslashes(cn_substr($keyword,30));
阿里云提示plus/search.php注入漏洞修复方法
存在漏洞的文件/plus/search.php,找到以下代码 //引入栏目缓存并看关键字是否有相关栏目内容 require_once($typenameCacheFile); if(isset($typeArr) && is_array($typeArr)) { foreach($typeArr as $id=>$typename) { $keywordn = str_replace($typename, ‘ ‘, $keyword); if($keyword != $keywordn) { $keyword = $keywordn; $typeid = $id; //对ID没做任何过滤 导致注入 break; } } } } $keyword = addslashes(cn_substr($keyword,30)); 替换为以下代码: //引入栏目缓存并看关键字是否有相关栏目内容 require_once($typenameCacheFile); if(isset($typeArr) && is_array($typeArr)) { foreach($typeArr as $id=>$typename) { //$keywordn = str_replace($typename, ‘ ‘, $keyword); $keywordn = $keyword; if($keyword != $keywordn) { $keyword = HtmlReplace($keywordn);//防XSS $typeid = intval($id); //强制转换为数字型 break; } } } } $keyword = addslashes(cn_substr($keyword,30));