Bugku Web32

Bugku Web32

这个题有些许的坑(如果独自做题的话需要猜源码中过滤了什么),这里直接贴源码,可以发现白名单里有php4,并且还要求multipart/form-data不能是multipart/form-data,所以上传的时候需要将multipart/form-data改成Multipart/form-data来绕过检测,直接burp修改数据包,然后用蚁剑连接,便可以找到flag

<html>
<body>
<?php 
$flag = "flag{test}"
?>
<form action="index.php" method="post" enctype="multipart/form-data">
My name is margin,give me a image file not a php<br>
<br>
<input type="file" name="file" id="file" /> 
<input type="submit" name="submit" value="Submit" />
</form>
<?php
function global_filter(){
	$type =  $_SERVER["CONTENT_TYPE"];
	if (strpos($type,"multipart/form-data") !== False){
		$file_ext =  substr($_FILES["file"]["name"], strrpos($_FILES["file"]["name"], '.')+1);
        $file_ext = strtolower($file_ext);
		if (stripos($file_ext,"php") !== False){
			die("Invalid File<br />");
		}
	}
}
?>


<?php

global_filter();
if ((stripos($_FILES["file"]["type"],'image')!== False) && ($_FILES["file"]["size"] < 10*1024*1024)){
	if ($_FILES["file"]["error"] == 0){
		$file_ext =  substr($_FILES["file"]["name"], strrpos($_FILES["file"]["name"], '.')+1);
        $file_ext = strtolower($file_ext);
        $allowexts = array('jpg','gif','jpeg','bmp','php4');
        if(!in_array($file_ext,$allowexts)){
            die("give me a image file not a php");
        }
		$_FILES["file"]["name"]="bugku".date('dHis')."_".rand(1000,9999).".".$file_ext;

	    if (file_exists("upload/" . $_FILES["file"]["name"])){
	    	echo $_FILES["file"]["name"] . " already exists. <br />";
	    }
	    else{
	    	if (!file_exists('./upload/')){
	    		mkdir ("./upload/");
                system("chmod 777 /var/www/html/upload");
	    	}
	    	move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);
                echo "Upload Success<br>";
                $filepath = "upload/" . $_FILES["file"]["name"];
	      	echo "Stored in: " ."<a href='" . $filepath . "' target='_blank'>" . $filepath . "<br />";
	    }
	}
}
else{
	if($_FILES["file"]["size"] > 0){
		echo "You was catched! :) <br />";
	}
}
?>
</body>
</html>

在这里插入图片描述

在这里插入图片描述

1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值