目录
第05关 .htaccess过滤绕过
1.打开靶场
http://iwebsec.com:81/upload/05.php
构造脚本info.php,内容为<?php phpinfo();?>,如下所示
随手上传脚本,提示不让上传php文件
2.源码分析
如下所示文件过滤方式为检查是否包含大小写不敏感的php关键字
<?php
require_once('../header.php');
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf8"/>
<head>
<title>.htaccess文件上传</title>
</head>
<h2>.htaccess文件上传</h2>
<div class="alert alert-success">
<p>请上传PHP文件</p>
</div>
<body>
<form enctype="multipart/form-data" method="post" name="uploadfile">
请上传文件:<input type="file" name="upfile" /><br>
<input type="submit" name="submit" value="submit" />
</form>
</html>
<?php
//print_r($_FILES["upfile"]);
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
//获取数组里面的值
$name=$upfile["name"];//上传文件的文件名
$type=substr($name, strrpos($name, '.')+1);//上传文件的类型
$size=$upfile["size"];//上传文件的大小
$tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径
//判断是否为图片
if (preg_match('/php/i', $type))