CTFHub | 读取源代码

0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

读取源代码:

        (无)

CTFHub | 读取源代码_第1张图片 网页显示内容

        

        

0x02 解题过程

打开网页发现源代码,还是和之前一样 php:// 。提示说 flag 在代码中,并且在 /flag 文件夹中,题目名字叫读取源代码。

CTFHub | 读取源代码_第2张图片

         

在前文我们有对关于 php:// 做了一些简单的汇总, php://filter 是 PHP 内置的过滤器流,可以读取源代码,并过滤输出。那么根据 php 官方文档对 php://filter 的用法我们可以直接在 url 中进行访问,读取 php 源代码。检查网页显示内容发现此题 flag 。

CTFHub | 读取源代码_第3张图片

http://challenge-855e224ef3926768.sandbox.ctfhub.com:10800/?file=php://filter/resource=/flag

        

        

0x03 php://filter

        php://filter 是一种元封装器,专门用于数据流的过滤和筛选。与传统的文件操作函数相比,php://filter 更具有灵活性和可定制性。如果你需要对数据流进行多重过滤和筛选, php://filter 也可以帮助你实现这一目标。只需在路径中指定一些参数,就可以创建出一个复合过滤链,帮助我们快速有效地处理数据流。

关于 php://filter 的相关参数:

名称 参数
resource=<要过滤的数据流> 这个参数是必须的。它指定了你要筛选过滤的数据流。
read=<读链的筛选列表> 该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。 
write=<写链的筛选列表> 该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。
<;两个链的筛选列表> 任何没有以 read= 或 write= 作前缀 的筛选器列表会视情况应用于读或写链。

表格来源于[www.php.net/php手册]

        

        

0x04 参考文献

[1].php.net. php手册[EB/OL]. [2023-06-10]. https://www.php.net/manual/zh/wrappers.php.php.

        

        

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

你可能感兴趣的:(CTF精进之路,web安全,CTF,php)