简单文件包含案例

php 复制代码
#index.php
<?php
$file = $_GET["file"];

if (!$file) echo '<a href="?file=upload">upload?</a>';
if(stristr($file,"input")||stristr($file, "filter")||stristr($file,"data")/*||stristr($file,"phar")*/){
	echo "hick?";
	exit();
}else{
	include($file.".php");
}
?>
php 复制代码
<form action="upload.php" method="post" enctype="multipart/form-data" >
	 <input type="file" name="fupload" />
 	<input type="submit" value="upload!" />
</form>
<!-- file=D://dsadasdasdasd/2.zip#2.php -->
you can upload jpg,png,zip....<br />
<?php
if( isset( $_FILES['fupload'] ) ) {
    $uploaded_name = $_FILES[ 'fupload' ][ 'name' ];         //文件名
    $uploaded_ext  = substr( $uploaded_name, strrpos( $uploaded_name, '.' ) + 1);   //文件后缀
    $uploaded_size = $_FILES[ 'fupload' ][ 'size' ];         //文件大小
    $uploaded_tmp  = $_FILES[ 'fupload' ][ 'tmp_name' ];     // 存储在服务器的文件的临时副本的名称
    $target_path = "uploads\\".md5(uniqid(rand())).".".$uploaded_ext;
    if( ( strtolower( $uploaded_ext ) == "jpg" || strtolower( $uploaded_ext ) == "jpeg" || strtolower( $uploaded_ext ) == "png" || strtolower( $uploaded_ext ) == "zip" ) &&
        ( $uploaded_size < 1000000 ) ) {
        if( !move_uploaded_file( $uploaded_tmp, $target_path ) ) {// No
            echo '<pre>upload error</pre>';
        }
        else {// Yes!
            echo "<pre>".dirname(__FILE__)."\\{$target_path} succesfully uploaded!</pre>";
        }
    }
    else {
        echo '<pre>you can upload jpg,png,zip....</pre>';
    }
}
 ?>

打开index.php

点击upload,跳转至upload.php

写一个.php文件

将此文件解压成压缩包,更改压缩包名(不更改也可以,因为此网站可以上传zip文件)

上传该压缩包(我是更改压缩包后缀为.jpg)

跳转至index.php,然后因为没有过滤zip://伪协议,因此直接使用,拼接路径(最后的文件名后缀不用编写因为index文件中参数上传成功时会添加后缀.php)

php 复制代码
http://127.0.0.1/lzy/index.php?file=zip://E:/get/phpstudy_pro/WWW/lzy/uploads/511ab3b75caecc61e7ace7dde4f4186c.jpg%234
相关推荐
小魏小魏我们去那里呀1 小时前
Alibaba Cloud DevOps Integration For JetBrains 插件使用指南
ide·阿里云·devops·jetbrains
STCNXPARM2 小时前
Linux camera之V4L2子系统详解
android·linux·camera·v4l2架构
2501_944525542 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter
不急不躁1235 小时前
Android16 GTS GtsPermissionTestcases 测试,跳过权限检查
android
符哥20087 小时前
关于用Android Compose开发成不成熟的分析
android·android jetpack
蜗牛、Z7 小时前
Android 蓝牙/Wi-Fi通信协议之:蓝牙扫描ScanCallback详解
android
黄昏晓x7 小时前
Linux----进程控制
android·linux·运维
我是阿亮啊8 小时前
android中事件分发机制
android·事件分发·事件分发机制
心前阳光9 小时前
Unity 模拟父子关系
android·unity·游戏引擎
2501_915106329 小时前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview