BUUCTF Web [极客大挑战 2019]Secret File

本文阅读 5 分钟
首页 代码,Java 正文

<font color="orange">「作者主页」:</font>士别三日wyx
  此文章已录入专栏<font color="greeg">《网络攻防》</font>,持续更新热门靶场的通关教程
<font color="red">「未知攻,焉知收」</font>,在一个个孤独的夜晚,你完成了几百个攻防实验,回过头来才发现,已经击败了百分之九十九的同期选手。

进入链接以后是一个「文字」页面,没有什么特别的功能

img

        这一关是一个「文件包含」漏洞,推荐使用「PHP伪协议」查看文件内容

1)信息泄露

针对这种没有什么功能的页面,可以检查是否存在信息泄露。右键查看「页面源代码」,发现一个被「隐藏」的标签,标签中有一个「文件」路径

img 故意隐藏,说明文件很「重要」,我们访问这个文件

img 提示我们点击「按钮」,按他说的做

img 又让我们退回去仔细看看,说明在这两个页面之间存在一些内容,右键「检查」 或者按 F12 键调出来开发者界面,返回上一个页面(Archive_room.php)重新点击一次 SECRET 按钮,观察这一过程有哪些「请求」 img 可以看到,在结束页面之前,还访问了一个页面,只是我们没有「权限」(302),看不了,所以直接跳过了这个页面。针对这种情况,我们使用代理工具查看它的「响应」请求即可 img 从响应内容中我们可以看到页面的内容中存在信息泄露,「注释」中有一个文件 secr3t.php,我们访问这个文件即可

2)文件包含

访问 secr3t.php 文件,页面中展示了部分代码,很明显是一个「文件包含」漏洞,并提示 flag 就在 flag.php文件中,意思就是让我们查看 flag.php 文件的内容。

img

PHP的文件包含函数有一个「特性」,被包含的文件内容中,如果是「代码」则会执行,而不会在页面中展示;如果是「非代码」(不能被执行的内容),则会以文本的形式在页面中展示出来。针对这一特性,我们可以使用PHP伪协议对文件内容进行「编码」,编码后的文件内容由于不能被执行,会展示在页面中,而后再将页面中的内容复制到本地进行「解码」,即可查看文件内容,拿到 flag。

1)查看网页源代码

进入链接后,右键查看网页源代码,在一个「隐藏」的 a 标签中找到泄露的信息——「敏感」文件 Archive_room.php

img

2)拦截请求,查看响应信息

访问敏感文件 Archive_room.php,点击 SECRET 按钮,同时使用代理工具(此处使用 Brup Suite)「拦截」请求。

img 在「响应」信息中发现另一个敏感文件 secr3t.php img

3)文件包含漏洞

访问敏感文件 secr3t.php,是一个文件包含漏洞

img

4)PHP伪协议读取文件内容

使用PHP伪协议对文件内容进行base64「编码」,使文件内容在页面中展示出来,payload如下

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

img 复制文件内容,在本地进行base64「解码」, 点击连接进入base64解码地址 img

喜欢一个东西首先要先学会<font color="red">「尊重」</font>,虽然网络安全的圈子不乏各种灰产,以及高调宣传自己是黑客的脚本小子,但不可否认,这个圈子仍有不少人保持着<font color="orange">「举世皆浊我独清,众人皆醉我独醒」</font>的心态,努力磨砺技术,提升自身修养,让互联网变得更加安全

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/wangyuxiang946/article/details/121002607
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复