WEB12
打开环境后得到这样一句话
查看一下源代码,提示我们进行传参,进行命令执行
进行传参,确认可以进行命令执行
?cmd=phpinfo();
那我们接下来就是用命令执行查找flag
?cmd=system('ls');
发现并没有什么用,题目给了提示需要用到glob() 函数和highlight_file()函数
glob函数
glob() 函数返回一个包含匹配指定模式的文件名或目录的数组。该函数返回一个包含有匹配文件/目录的数组。如果失败则返回 FALSE。
说简单点就是glob()函数可以查找文件, 返回一个文件数组, 常配合通配符来遍历目录
highlight_file()函数
hightlight_file()可以使文件内容高亮显示, 常用于读取文件内容
我们使用glob函数来遍历目录,再用print_r函数将目录打印出来
?cmd=print_r(glob('*'));
遍历后得到两个文件,我们一个一个找,运气好,flag就在903c00105c0141fd37ff47697e916e53616e33a72fb3774ab213b3e2a732f56f.php里
我们使用hightlight_file()函数使文件内容高亮显示,得到flag
?cmd=highlight_file('903c00105c0141fd37ff47697e916e53616e33a72fb3774ab213b3e2a732f56f.php');
web13
打开环境,发现是文件上传
上传一句话木马,并抓包看一看
提示文件太大了,使用dirsearch扫一扫看看有什么文件
发现uoload.php文件,直接访问访问不了,看一看有没有备份文件,访问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, '