[ACTF2020 新生赛]Include1详细解题思路

1.点击查看

出现了这个

2.F12查看源代码[ACTF2020 新生赛]Include1详细解题思路_第1张图片

3.没有发现没有有用信息时返回上一级查看源代码(要细心查看每一个界面的源代码,去寻找漏洞,顺势找到flag

[ACTF2020 新生赛]Include1详细解题思路_第2张图片

4.发现包含了一个PHP文件,那我们接下来就需要了解相应的知识了

PHP伪协议(PHP定义的一种特殊访问资源的方法)

⭐️PHP伪协议详解-CSDN博客

1.伪协议成功执行需要一些条件
在满足条件的情况下根据相应的类型,所对应的方法进行查看

2.[ACTF2020 新生赛]Include1详细解题思路_第3张图片

5.输入相应的编码让筛选过滤不执行而输出

(对PHP伪协议有相对应的了解以后我们可以确定相应的协议了,这道题属于php://filter协议)

php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。

php://filter 是php中独有的一个协议,可以作为一个中间流来处理其他流,可以进行任意文件的读取;如果我们读入或者输出获取文件源码然后编码让其不执行,从而就会输出过滤掉的东西

[ACTF2020 新生赛]Include1详细解题思路_第4张图片

 php://filter协议,用base64编码的方式来读文件flag.php

6.payload:

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

[ACTF2020 新生赛]Include1详细解题思路_第5张图片

7.利用base64解码 拿到flag

[ACTF2020 新生赛]Include1详细解题思路_第6张图片

你可能感兴趣的:(安全)