iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP伪协议
  • 851
分享到

PHP伪协议

php 2023-08-31 20:08:00 851人浏览 安东尼
摘要

PHP伪协议 一、伪协议介绍 php伪协议,也是php支持的协议和封装协议。 常见的有: file:// 访问本地文件系统php:// 访问各个输入/输出流data:// 数据zip:// 压缩

PHP伪协议

一、伪协议介绍

php伪协议,也是php支持的协议和封装协议。

常见的有:

  • file:// 访问本地文件系统
  • php:// 访问各个输入/输出流
  • data:// 数据
  • zip:// 压缩流

不过有些伪协议需要allow_url_fopen和allow_url_include的支持。

  • allow_url_fopen On/Off 允许或禁止打开URL文件
  • allow_url_include On/Off 允许或禁止引用URL文件
    在这里插入图片描述

二、file伪协议

file://伪协议用作是展现本地文件系统。
CTF中一般用来读取本地文件或者执行php脚本
绝对路径和相对路径或者网络路径(Http://127.0.0.1/info.php)都可以。不过网络路径就需要allow_url_fopen和allow_url_include都为On

tips
include()/require()/include_once()/require_once()的参数可控的情况下,如果导入的文件为非.php文件,仍会按照PHP语法进行解析,这是include()函数所决定的

例:使用file://伪协议去包含本地的phpinfo.php和flag.txt

$file = $_GET['file'];include $file;

payload:

?file=file://E:\phpinfo.php?file=../flag.txt?file=http://127.0.0.1/flag.txt

三、php伪协议

php://伪协议作用是访问各个输入输出流
在CTF中经常用到的是php://filter和php://input
php://filter用来读取源码(.php文件的源码);php://input用来执行php代码(通常以post形式,post一段php代码上去执行)

注:

在enctype="multipart/fORM-data"的时候,php://input是无效的。

php://filter的各个参数详解:

参数描述
resource=<要过滤的数据流>必须项。它指定了你要筛选过滤的数据流
read=<读链的过滤器>可选项。可以设定一个或多个过滤器名称。
write=<写链的过滤器>可选项。可以设定一个或多个过滤器名称。
<; 两个链的过滤器>任何没有以 read= 或 write= 作前缀的筛选器列表会视情况应用于读或写链。
转换过滤器作用
convert.base64-encode & convert.base64-decode等同于base64_encode()和base64_decode(),base64编码解码
convert.quoted-printable-encode & convert.quoted-printable-decodequoted-printable 字符串与 8-bit 字符串编码解码

例如,读取fileprotocol.php文件源码:

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

读出来base64解码就是源码了。

例如:php://input执行phpinfo()
注:allow_url_include要为On

GET和POST都可以
在这里插入图片描述

如果想写入WEBshell

 fputs(fopen('1.php','w'),''); ?>

四、zip:// & bzip2:// & zlib:// 协议

zip://、bzip2://、zlib://都属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名,可以修改为任意后缀:jpg、png、gif、xxx等

zip://[压缩文件绝对路径]%23[压缩文件内的子文件名](#编码为%23)

例:压缩phpinfo.txt为phpinfo.zip,将zip改为xxxx,包含里面的phpinfo.txt

phpinclude ($_GET['file']);

payload:

?file=zip://D:\phpstudy_pro\WWW\php-audit\fake_protocol\phpinfo.xxxx%23phpinfo.txt

在这里插入图片描述

compress.bzip2://file.bz2(同样支持任意后缀名)

?file=compress.bzip2://E:\phpinfo.xxx

compress.zlib://file.gz(同样支持任意后缀名)

?file=compress.zlib://E:\phpinfo.xxx

五、data协议

需要allow_url_include和allow_url_fopen都为On
data://伪协议是数据流封装器,传递相应格式的数据。
通常可以用来执行PHP代码。

用法:

data://text/plain,data://text/plain;base64,

例:

$file = $_GET['file'];include $file;
?file=data://text/plain,?file=data://text/plain;base64,PD9waHAGCGhwaW5mbygpOz8%2b

在这里插入图片描述

六、http://和https://协议

远程包含需要allow_url_fopen和allow_url_include都为On。
允许通过HTTP 1.0的GET方法,以只读的方式访问文件或者资源。
CTF中通常用于远程包含。

?file=http:/127.0.0.1/phpinfo.txt

在这里插入图片描述

七、phar://伪协议

phar://伪协议和zip://类似,同样可以访问zip格式压缩包内容

?file=phar://E:\WWW/phpinfo.zip\phpinfo.txt

来源地址:https://blog.csdn.net/qq_37466661/article/details/126203437

--结束END--

本文标题: PHP伪协议

本文链接: https://www.lsjlt.com/news/386883.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP伪协议
    PHP伪协议 一、伪协议介绍 PHP伪协议,也是php支持的协议和封装协议。 常见的有: file:// 访问本地文件系统php:// 访问各个输入/输出流data:// 数据zip:// 压缩...
    99+
    2023-08-31
    php
  • PHP-伪协议
    伪协议 常用场景:文件包含 ,文本包含 常用的伪协议有 php://filter 读取文件源码 (协议可以对打开的数据流进行筛选和过滤,常用于读取文件源码) php://input 任意代码执行;这种伪协议用于读取原始的 HTTP POST...
    99+
    2023-09-01
    php 开发语言
  • PHP 伪协议
    常见的php伪协议 file://                         访问本地文件系统php://                        访问输入输出流data://                       数...
    99+
    2023-09-03
    php 开发语言
  • php伪协议总结
    php伪协议总结 概述 PHP伪协议,也是php支持的协议和封装协议 常见的伪协议有: php://访问各个输入输出流file://访问本地文件系统data://获取数据(RFC 2397)zip:/...
    99+
    2023-09-21
    php web安全
  • PHP伪协议详解
    PHP伪协议详解 php支持的伪协议 1 file:// — 访问本地文件系统2 http:// — 访问 HTTP(s) 网址3 ftp:// — 访问 FTP(s) URLs4 php:// — ...
    99+
    2023-09-09
    php
  • [php知识点]PHP伪协议
    目录 一、前言 1、什么是PHP伪协议2、什么时候用PHP伪协议 include和require函数include和include_once的区别(require与require_once的...
    99+
    2023-09-03
    php 开发语言
  • php://filter伪协议(总结)
    前言 这篇文章主要是关于php://filter伪协议中的知识点总结,分析了常见的用法 文章目录 前言php://filter伪协议总结php://filter伪协议介绍php://filte...
    99+
    2023-08-31
    php 开发语言 web安全 安全
  • PHP伪协议filter详解,php://filter协议过滤器
    「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 ...
    99+
    2023-08-31
    php 网络安全 人工智能 ai
  • [CTF/网络安全] 攻防世界 Web_php_include 解题详析(php伪协议、data伪协议、file伪协议)
    [CTF/网络安全] 攻防世界 Web_php_include 解题详析 代码审计PHP_include文件包含漏洞及伪协议PayloadPHP伪协议恶意 PHP 伪协议data伪协议恶意 d...
    99+
    2023-10-18
    web安全 CTF php 网络安全
  • PHP Filter伪协议Trick总结
    PHP Filter伪协议Trick总结 前言:最近在学习的过程中碰到了很多的filter协议的小trick,在此做一个总结以及对filter协议的一些探索。 PHP Filter协议介绍 ​ php...
    99+
    2023-10-18
    安全
  • PHP伪协议基本原理介绍
    目录前言常见的php伪协议php://inputphp://filterzip://与bzip2://与zlib://协议data://phar://前言 引用一张比较清晰易懂的图 ...
    99+
    2022-11-16
    PHP伪协议 PHP伪协议原理
  • php伪协议实现命令执行详情
    目录1.file://协议2.php://协议3.data://协议4.zip:// & bzip:// & zlib:// 协议总结1.file://协议 条件: ...
    99+
    2024-04-02
  • 文件包含及PHP伪协议怎么用
    今天小编给大家分享一下文件包含及PHP伪协议怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。文件包含文件包含漏洞是“代码...
    99+
    2023-06-30
  • CTF常用伪协议总结
    PHP伪协议 file://协议 用来读取本地的文件,当用于文件读取函数时可以用。 常见检测是否存在漏洞写法: www.xxx.com/file=file:///etc/passwd 此协议不受al...
    99+
    2023-09-21
    php 安全 web安全
  • SSRF(3)伪协议读取文件&Gopher协议的利用
    一:Http、Dict和file等协议的利用 1,内网访问 所以构造: /url=http://127.0.0.1/flag.php 得到: ctfhub{ce475b59a4baee959112777b} 2,伪协议读取文件 最经...
    99+
    2023-10-01
    php 开发语言 web安全 网络
  • [极客大挑战 2019]Secret File 1(php伪协议)
    纯小白的web之旅/(ㄒoㄒ)/~~ 第一篇题解,有些地方可能还不清楚,或者存在错误,大佬们如果看到可以指点一下(●'◡'●) 点开靶机 是这个界面,第一步看一下源代码,  可以看到一个提示  Archive_room.php 点进去就跳...
    99+
    2023-09-08
    php 开发语言 web
  • 文件包含之——phar伪协议
    一、文件包含漏洞原理解析 因为PHP语言所提供的文件包含功能包含功能太强大,太灵活,所以大部分文件包含的漏洞都出现在PHP的程序中 当被包含的文件在服务器本地时,就形成的本地文件包含漏洞 当包含的文件...
    99+
    2023-09-27
    php 安全 web安全
  • 浅谈 filter伪协议的特性
    前言: 对我来说,我以前对filter伪协议不甚了解,这次接触了这一题,就得主动去更加深入地了解一下filter伪协议了。以前呢就知道php://filter/read=convert.base64-encode/resource=[文件名...
    99+
    2023-09-15
    php web安全 安全
  • 怎么使用php伪协议实现命令执行
    今天小编给大家分享一下怎么使用php伪协议实现命令执行的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.file://协议条...
    99+
    2023-07-02
  • 文件包含支持的伪协议
    文件包含支持的伪协议 一、什么是伪协议?二、文件包含支持的伪协议用法1、php://1.1 php://input1.2 php://output1.3 php://filter1.4 其它p...
    99+
    2023-09-01
    php web安全
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作