function isImage($filename){
$types = '.jpeg|.png|.gif';
if(file_exists($filename)){
$info = getimagesize($filename);
$ext = image_type_to_extension($info[2]);
if(stripos($types,$ext)>=0){
return $ext;
}else{
return false;
}
}else{
return false;
}
}
查看源码,关键函数是这个getimagesize
我们来看这个 getimagesize函数,这个函数的意思是:会对目标文件的16进制去进行一个读取,去读取头几个字符串是不是符合图片的要求的
所以这关还是用和13关一样的方法,生成带有php代码的图片上传,配合包含漏洞拿下此关。
可以直接使用这个webshell.png 上传即可
http://192.168.31.33/upload-labs-master/include.php?file=upload/3020230630224758.png