MetInfo5.1鸡肋GETSHELL

暗月博客 2019年11月21日17:17:35评论381 views字数 2283阅读7分36秒阅读模式
摘要

                                                                          MetInfo5.1鸡肋GETSHELL

                                                                          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:

MetInfo5.1鸡肋GETSHELL

 下载MetInfo5.1 GETSHELL EXP.rar

0x05:

      利用是这样子的首先准备木马例如fuck.php 压缩成zip 然后填写上管理员密文 上传。

     如图:

MetInfo5.1鸡肋GETSHELL

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
暗月博客
  • 本文由 发表于 2019年11月21日17:17:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   MetInfo5.1鸡肋GETSHELLhttps://cn-sec.com/archives/71118.html

发表评论

匿名网友 填写信息