[ACTF2020 新生赛]Include 1

题目简介

  • 题目名称:[ACTF2020 新生赛]Include 1
  • 题目平台:BUUCTF
  • 题目类型:Web
  • 考察知识点: 文件包含漏洞

解题步骤

1.启动并访问靶机,主页只有一个tips连接,我们访问该链接,发现通过file伪协议,打开了flag.php这个文件,说明存在文件包含漏洞。
http://1b5f9157-ff77-4848-b073-16f98a3402bb.node4.buuoj.cn:81/flag.php
在这里插入图片描述2.既然该文件名为flag.php,那么flag应该就存在于此文件中,但是我们f12并没有查看到flag,猜测flag应该是在flag.php的源代码当中
3.我们可以利用php://filter伪协议来查看flag.php的源代码,构造payload:?file=php://filter/convert.base64-encode/resource=flag.php
4.成功获取到flag.php加密后到源代码内容:PD9waHAKZWNobyAiQ2FuIHlvdSBmaW5kIG91dCB0aGUgZmxhZz8iOwovL2ZsYWd7OTFkYTNhNjgtODM2My00ODBmLTk0NWMtZjA4NWU1MjkzMjAyfQo=

在这里插入图片描述

知识详解

php://filter

  • 作用:php://filter可以获取指定文件源码。当其与文件包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行,从而读取任意文件源代码。[1]
  • 场景:
    • 知道flag文件地址后,可以直接用该协议读取文件内容
    • 有时候一些关键字被过滤也可以用该协议绕过
    • 有的flag隐藏在注释当中,可通过此协议查看源码获取flag
  • 格式:xxx.php?xxx=php://filter/convert.base64-encode/resource=xxx.php
  • 利用条件:
    • 不受allow_url_include和allow_url_fopen的限制
posted @ 2023-01-31 18:09  坤舆小菜鸡  阅读(44)  评论(0编辑  收藏  举报  来源