MetInfo5.1鸡肋GETSHELL
0x00:
一个项目渗透测试项目上遇上这个情况,在metinfo上密文不能解密时候的时候 我们还有这种方法法可以绕过后台GETSHELL。
0x01:
官方最新的metinfo5.1,是昨天下载的的。
0x02:
其实是二次漏洞,首先我们来看一下 uploadify.php 这个文件 开头我以为是没有验证,很有可能直接GETSHELL,后来看到上面几句验证,
权限验证还是有的。
代码:
<?php require_once 'common.inc.php'; if(!$metinfo_admin_id||!$metinfo_admin_pass){ echo $lang_uplaoderr1; die(); }else{ $admincp_ok = $db->get_one("SELECT * FROM $met_admin_table WHERE id='$metinfo_admin_id' and admin_pass='$metinfo_admin_pass' and usertype='3'"); if(!$admincp_ok){ echo $metinfo_admin_id.$lang_uplaoderr1; die(); } }
知道帐号id和密码密文就可以成功绕过的,或者是覆盖$admincp_ok 就可以绕过后台验证方法,无奈的是 变量覆盖在这里起不了作用。
0x03:
既然验证我们可以绕过,那么我们就来构造一下GETSHELL的条件,寻找能直接上传的地方,问题同样出在uploadify.php身上,
代码:
/*数据库文件*/ }elseif($type=='sql'){ if(strstr($_FILES['Filedata']['name'],'.sql')){ $filenamearray=explode('.sql',$_FILES['Filedata']['name']); $f = new upfile('sql,zip','../databack/','',''); if(file_exists('../databack/'.$filenamearray[0].'.sql'))$filenamearray[0]='metinfo'.$filenamearray[0]; if($_FILES['Filedata']['name']!=''){ $met_upsql = $f->upload('Filedata',$filenamearray[0]); } include "pclzip.lib.php"; $archive = new PclZip('../databack/sql/'.'metinfo_'.$filenamearray[0].'.zip'); $archive->add('../databack/'.$filenamearray[0].'.sql',PCLZIP_OPT_REMOVE_PATH,'../databack/'); $metinfo='1$'.'../databack/'.$filenamearray[0].'.sql'; }else{ $filetype=explode('.',$_FILES['Filedata']['name']); if($filetype[count($filetype)-1]=='zip'){ $filenamearray=explode('.zip',$_FILES['Filedata']['name']); //var_dump($filenamearray); $f = new upfile('sql,zip','../databack/sql/','',''); if(file_exists('../databack/sql/'.$filenamearray[0].'.zip'))$filenamearray[0]='metinfo'.$filenamearray[0]; if($_FILES['Filedata']['name']!=''){ $met_upsql = $f->upload('Filedata',$filenamearray[0]); } include "pclzip.lib.php"; $archive = new PclZip('../databack/sql/'.$filenamearray[0].'.zip'); // echo PCLZIP_OPT_PATH; if($archive->extract(PCLZIP_OPT_PATH, '../databack') == 0){ $metinfo=$archive->errorInfo(true); } else{ $list = $archive->listContent(); $metinfo='1$'.'../databack/sql/'.$filenamearray[0].'.zip'; } }else{ $metinfo=$lang_uplaoderr3; } } } echo $metinfo;
pclzip.lib.php 直接解压到/admin/databack 目录下面。
0x04:
exp:
0x05:
利用是这样子的首先准备木马例如fuck.php 压缩成zip 然后填写上管理员密文 上传。
如图:
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论