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

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

一、题目简介

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

在这里插入图片描述

二、思路分析

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

1)信息泄露

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

在这里插入图片描述
故意隐藏,说明文件很「重要」,我们访问这个文件

在这里插入图片描述
提示我们点击「按钮」,按他说的做

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

2)文件包含

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

在这里插入图片描述

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

三、解题步骤

1)查看网页源代码

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

在这里插入图片描述

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

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

在这里插入图片描述
「响应」信息中发现另一个敏感文件 secr3t.php
在这里插入图片描述

3)文件包含漏洞

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

在这里插入图片描述

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

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

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

在这里插入图片描述
复制文件内容,在本地进行base64「解码」点击连接进入base64解码地址
在这里插入图片描述

四、总结

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

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日wyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值