您现在的位置是:首页 >技术杂谈 >CTFHub | 读取源代码网站首页技术杂谈
CTFHub | 读取源代码
0x00 前言
CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。
0x01 题目描述
读取源代码:
(无)
0x02 解题过程
Ⅰ打开网页发现源代码,还是和之前一样 php:// 。提示说 flag 在代码中,并且在 /flag 文件夹中,题目名字叫读取源代码。
Ⅱ在前文我们有对关于 php:// 做了一些简单的汇总, php://filter 是 PHP 内置的过滤器流,可以读取源代码,并过滤输出。那么根据 php 官方文档对 php://filter 的用法我们可以直接在 url 中进行访问,读取 php 源代码。检查网页显示内容发现此题 flag 。
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 总结
文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。