MACcms通杀型后台拿shell

90sec@Joseph

此漏洞的缘由是来自论坛的一哥们求助拿shell才无奈的去审计
20150916205504
看见这个模块编辑就总感觉有漏洞存在当然这里并没有想象的那么简单,咱们之前遇到的模版编辑漏洞已经在这个版本修复了
漏洞文件:

elseif($method=='save')
{
    $path = be('post','path'); $path = str_replace('\\','/',$path);
    $file =  be('post','file'); $file = str_replace('\\','/',$file);
    $filename = be('post','filename');
    $suffix = be('post','suffix');
    $filecontent =  stripslashes(be('post','filecontent'));
    if(isN($path)){
        if (substring($file,11)!='../template' || count( explode('../',$file) ) > 2) {
            showErr('System','非法目录请求');
            return;
        }
        if(!file_exists($file)){
            showErr('System','非法文件请求');
            return;
        }
        fwrite(fopen($file.$suffix,'wb'),$filecontent);
    }
    else{
        if (substring($path,11)!='../template' || count( explode('../',$path) ) > 2) {
            showErr('System','非法目录请求');
            return;
        }
        $extarr = array('.html','.htm','.js','.xml','.wml');
        if(!in_array($suffix,$extarr)){
            $suffix='.html';
        }
         
        fwrite(fopen($path.'/'.$filename.$suffix,'wb'),$filecontent);
    }
    showMsg('文件内容保存完毕','');
}

获取自定义的文件名和内容和路径然后一个if判断path是否为空,如果为空则进入漏洞,不为空则没有漏洞
所以这里burp抓包把path的值给清楚了,然后添加这个suffix参数为我们想要的文件名
2015091621004620150916210203

本文固定链接: https://www.unhonker.com/bug/1843.html | 90' s Blog|关注网络信息安全

该日志由 unhonker 于2015年09月17日发表在 漏洞公布 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: MACcms通杀型后台拿shell | 90' s Blog|关注网络信息安全
关键字:

MACcms通杀型后台拿shell:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!