漏洞描述:
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));