首先讲一下这道题的思路,文件包含,什么是文件包含?其实简单来说就是通过一个文件传入参数(构造语句)去访问另一个文件,从而得到你所想要的东西。
然而,这道题,除了文件包含的知识。还涉及到了文件上传的知识。毕竟,这两者总是相互存在在。。。。。
好了,接下来,开始解题:
首先进入的界面是一个欢迎界面,看URL里的参数得有一个参数file,查看源码可得有upload.php这个文件存在,那么改一下file的值为upload.php
查看源码:
传入参数upload.php
可以看到,出来的是一个文件上传的界面,这时候,你可以上传文件。。。。
但难题来了,上传文件,上传文件里写什么,文件的格式是什么。
文件上传 + 文件包含 + burpsuit
1)创建一个文本1.php, 在里面写文件包含的话一句话
<script language=php>system("ls")</script>
2)将文件上传并抓包,改参数content-type:image/jpeg filename="1.php:.jpg" 得到文件路径
3)访问返回的路径,可以看到有一串字符,但可以很清晰地看到有一个 .txt文件,改参数file= .txt ,即可得到Flag
4)完美结束。。。。。