<font color="orange">「作者主页」:</font>士别三日wyx
此文章已录入专栏<font color="greeg">《网络攻防》</font>,持续更新热门靶场的通关教程
<font color="red">「未知攻,焉知收」</font>,在一个个孤独的夜晚,你完成了几百个攻防实验,回过头来才发现,已经击败了百分之九十九的同期选手。
进入题目链接后只有一个「链接」 点击链接后来到 falg.php 页面,里面是一句作者深情的「问候」。
这一关是「文件包含」漏洞,推荐使用「PHP伪协议」读取文件源码。
在tips页面,右键查看页面源代码 是一个 a 标签,通过 file 「参数」传递了一个「文件名」 flag.php。点击链接后会进入 flag.php 文件的页面,很明显是一个文件包含的功能,根据点击后的url可以验证这一观点
CTF有个不成文的「规矩」,如果有一个文件以flag命名,那么flag大概率就在这个文件里面。右键查看「页面源码」,检查是否存在信息泄露。
很明显,前端源码没有flag,那只能在后端源码里面了。文件包含功能有个「特性」,对于被包含的文件,「代码」部分会直接执行,不会在页面中显示;「非代码」部分(即不能执行的内容)则会在页面中显示。针对这一特性,我们可以将被包含文件的内容「编码」为不可执行的内容,让其在页面中显示,再将页面中的内容在本地「解码」,就可以拿到文件的后端源码了。这里我们可以使用PHP伪协议对文件内容进行base64编码, 点我进入PHP伪协议参考文章
1)包含 flag.php
点击 tips 「链接」进入另一个页面,即包含 flag.php 文件
2)PHP伪协议编码文件
使用PHP伪协议对文件内容进行base64「编码」,将url中file参数替换为以下payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
编码后的文件内容会在页面中输显示
3)解码文件内容
将页面中的文件内容复制下来,本地进行base64「解码」, base64解码参考连接 flag就在解码的内容中,提交即可
喜欢一个东西首先要先学会<font color="red">「尊重」</font>,虽然网络安全的圈子不乏各种灰产,以及高调宣传自己是黑客的脚本小子,但不可否认,这个圈子仍有不少人保持着<font color="orange">「举世皆浊我独清,众人皆醉我独醒」</font>的心态,努力磨砺技术,提升自身修养,让互联网变得更加安全