CTFHub | 读取源代码

news/2024/5/20 0:06:09 标签: web安全, CTF, php

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 总结

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


http://www.niftyadmin.cn/n/419797.html

相关文章

数据库—mysql、数据库编程(API)

1. Linux平台准备 &#xff08;1&#xff09;安装SDK开发包的命令 sudo apt-get install libmysqlclient-dev &#xff08;2&#xff09;编译时需要链接的库:-lmysqlclient 2. mysql 的初始化和清理 #include <mysql/mysql.h> MYSQL mysql1; //创建句柄 mysql_init(&…

如何在Android平台上使用串口通信

文章目录 背景知识整体思路使用方法示例代码背景知识 我们通常使用Android平台时都是基于平台做一些App开发,或者移植Android平台到其它设备上。有时候会把Android平台当作嵌入式操作系统来使用,这时会使用到串口进行数据通信。不过Android没有直接提供串口通信的API接口,这…

【协议】NVMe over RoCE |nvmeof

什么是nvme nvme ssd和普通ssd区别 ssd是固态硬盘&#xff0c;普通的ssd配的是SATA口&#xff08;AHCI协议&#xff09;&#xff0c;nvme ssd配的是PCIe口&#xff08;nvme传输协议&#xff09; 相比普通SSD的SATA口&#xff0c;nvme的PCIe口有巨大的性能优势。 更多详情见&…

【华为OD统一考试B卷 | 100分】连续字母长度(C++ Java JavaScript Python)

题目描述 给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。 输入描述 第一行有一个子串(1<长度<=100),只包含大写字母。 第二行为 k的值 输出描述 输出连续出现次数第k多的字母的次数。 ACM输…

UDP协议和TCP协议

目录 UDP TCP 通过序列号与确认应答提高可靠性 为什么TCP是三次握手 为什么是四次挥手 超时重传机制 流控制 利用窗口控制提高速度 窗口控制与重发控制 拥塞控制 延迟确认应答 捎带应答 UDP UDP是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。…

Java数字处理的几种方法

一、数字格式化 我们使用DecimalFormat来格式化数字。 DecimalFormat中有几个特殊的字符需要说明: 0 代表阿拉伯数字&#xff0c;使用特殊字符0表示数字的一位阿拉伯数字&#xff0c;如果该位不存在数字&#xff0c;则显示0 # 代表阿拉伯数字&#xff0c;使用特殊字符#表示…

专业实习报告范本4篇

专业实习报告范本1 一、实习起止日期&#xff1a; 二、实习单位及部门&#xff08;岗位&#xff09;&#xff1a; 三、主要实习内容&#xff1a; 对基础知识和专业理论知识的掌握及运用情况&#xff1a; 通过两年半的学习和两个月的紧张培训&#xff0c;让我学会了电路图的分析…

SQL注入—报错注入

0x00 背景 SQL注入长期位于OWASP TOP10 榜首&#xff0c;对Web 安全有着很大的影响&#xff0c;黑客们往往在注入过程中根据错误回显进行判断&#xff0c;但是现在非常多的Web程序没有正常的错误回显&#xff0c;这样就需要我们利用报错注入的方式来进行SQL注入了。这篇文章会讲…