uplload 通关纪实 pass16
Posted 安全界 的彭于晏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uplload 通关纪实 pass16相关的知识,希望对你有一定的参考价值。
exif_imagetype(string $filename)//读取一个图像的第一个字节并检查其签名
因此此函数需要开启php_exif模板,php_exif在phpstudy主界面–其他选项菜单–PHP扩展及设置–PHP扩展里面。
此外还需要在php.ini(在phpstudy主界面的其他选项菜单–打开配置文件里面)里修改,将;extension=php_exif.dll前面的;去掉,然后保存重启。
接着操作跟Pass-14和Pass-15的操作一样。
源代码如下:
function isImage($filename){
//需要开启php_exif模块
$image_type = exif_imagetype($filename);
switch ($image_type) {
case IMAGETYPE_GIF:
return "gif";
break;
case IMAGETYPE_JPEG:
return "jpg";
break;
case IMAGETYPE_PNG:
return "png";
break;
default:
return false;
break;
}
}
$is_upload = false;
$msg = null;
if(isset($_POST['submit'])){
$temp_file = $_FILES['upload_file']['tmp_name'];
$res = isImage($temp_file);
if(!$res){
$msg = "文件未知,上传失败!";
}else{
$img_path = UPLOAD_PATH."/".rand(10, 99).date("YmdHis").".".$res;
if(move_uploaded_file($temp_file,$img_path)){
$is_upload = true;
} else {
$msg = "上传出错!";
}
}
}
首先上传一个gif文件,然后用burp进行抓包:
然后把包发送给repeater模块,点击Go之后成功上传:
访问如下图所示的网址,成功访问到网页:
然后连接菜刀:
之后成功访问到目录:
以上是关于uplload 通关纪实 pass16的主要内容,如果未能解决你的问题,请参考以下文章