【网络安全篇】php伪协议-漏洞及其原理

简介: 🏆今日学习目标:🍀学习php伪协议
🏆今日学习目标:
🍀学习php伪协议
✅创作者:贤鱼
⏰预计时间:35分钟

请添加图片描述

🍀支持为协议的函数

🍁文件包含函数

include();
include_once();
require();
require_once();

举个例子

include(文件名) ;
作用是如果文件名下的文件中有php代码,就会执行php代码,其他的部分直接输出

🍁 文件操作类函数

fopen();
file();
readfile();
file_get_contents();
......

举个例子

file_get_contents(文件名);
作用是直接读出文件名下文件的内容

🍀伪协议

🍁 file://

作用是访问本地文件系统

==不受allow_url_fopen和allow_url_include影响==
用法:

/path/to/file.ext
relative/path/to/file.ext
fileInCwd.ext
C:/path/to/winfile.ext
C:\path\to\winfile.ext
\\smbserver\share\path\to\winfile.ext
file:///path/to/file.ext

🍁 http://https://

作用是访问http(s)网址

==文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和allow_url_fopen。==
用法:

http://example.com/file.php?var1=val1&var2=val2
http://user:password@example.com

可以自己搭建一个网站然后利用漏洞

🍁ftp://

作用:访问ftp(s)URLs

==文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和
allow_url_fopen。==

用法:

ftp://user:password@example.com/pub/file.txt
ftps://example.com/pub/file.txt

🍁 php://

作用是访问各个输出输出流

🍁php://input

可以访问亲求的原始数据只读流
可以理解为这一串话整个是一个特殊的文件名,和include搭配的话,因为include可以读取文件名下的内容并且有php代码就执行,可是这个特殊的文件名是找不到的,所以我们就可以自己写文件内容

==文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和
allow_url_fopen。==

🔥例题讲解:

在这里插入图片描述
做题首先要读懂代码

很明显,这个代码的意思就是说过滤flag,如果没有flag就可以包含文件

具体怎么做呢?
在这里插入图片描述

在这里插入图片描述

上文所说,我们利用php://input可以自己写文件并且执行,那么我们可以传参==php://input==然后在下面写php代码
在这里插入图片描述

🍁php://filter

php://filter 是一种元封装器,设计用于数据流打开时的筛选过滤应用

==本地文件无论allow_url_fopen,allow_url_include是否开启都可以使用,allow_url_fopen开启时文件操作函数里resource可以是远程的,allow_url_include也开启包含resource才可以是远程的。==

用法:

php://filter/read=convert.base64-encode/resource=c:/windows/win.ini

讲解一下每个部分的作用

read是要执行的操作
convert.base64-encode的意思是读出的内容经过一次base64编码
==resource后面跟的是读取内容的路径==

参数(作为路径的一部分)

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

字符串过滤器

名称 描述
string.rot13 进行rot13转换
string.toupper 将字符全部大写
string.tolower 将字符全部小写
string.strip_tags 去除空字符、HTML 和 PHP 标记后的结果

编码过滤器

onvert.iconv.utf-8.utf-7 将utf-8编码转换为utf-7编码,这样再继续使用base64编码写文件时候,不会因为特殊符号无法新建文件(windows)
convert.base64-encode/convert.base64-decode base64编码解码
onvert.quoted-printable-encode/convert.quoted-printable-decode quoted-printable 编码解码

🍁 data://

数据流封装器,直接就是数据。

==文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和
allow_url_fopen。==
用法

data://text/plain,<?php phpinfo()?>
data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=

第一个就直接执行后面的php代码,第二个的意思是将后面的一串经过base64解码后执行(用来绕过过滤)

🔥例题讲解

在这里插入图片描述
在这里插入图片描述
这里编码完最后其实有一个+,但是如果+不处理就无法执行,所以我们提前url编码一次,+的url编码是%2b
在这里插入图片描述

🍁 compress.zlib:// compress.bzip2:// zip://

用法:

compress.zlib://file.gz
compress.bzip2://file.bz2
zip://archive.zip#dir/file.txt

🏆结束语

==如果感兴趣,可以订阅一下专栏!!持续更新网络安全方面的内容!!==

请添加图片描述

相关文章
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
10月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
11月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
850 11
|
11月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
279 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
11月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
1714 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
11月前
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
1477 0
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
689 7
|
监控 应用服务中间件 Linux
掌握并发模型:深度揭露网络IO复用并发模型的原理。
总结,网络 I/O 复用并发模型通过实现非阻塞 I/O、引入 I/O 复用技术如 select、poll 和 epoll,以及采用 Reactor 模式等技巧,为多任务并发提供了有效的解决方案。这样的模型有效提高了系统资源利用率,以及保证了并发任务的高效执行。在现实中,这种模型在许多网络应用程序和分布式系统中都取得了很好的应用成果。
384 35
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
525 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
安全 Ubuntu Linux
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
679 0
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估