news 2026/7/7 18:39:15

【网络安全渗透测试】零基础入门PHP伪协议精讲(文件包含漏洞)零基础入门到精通教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【网络安全渗透测试】零基础入门PHP伪协议精讲(文件包含漏洞)零基础入门到精通教程

今天给大家分享一下网络安全渗透测试入门阶段文件包含渗透与防御基础教程,本文主要讲解php伪协议。

喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。

1、什么是PHP伪协议PHP伪协议PHP伪协议

PHP伪协议事实上就是支持的协议与封装协议,简单来说就是php定义的一种特殊访问资源的方法,在web渗透漏洞利用中常用于配合文件配合进行web攻击,查询到网站中隐藏的机密文件,造成敏感信息泄露等影响。

2、什么时候用PHP伪协议

文件包含漏洞, 对了,这次改个思路,不用漏洞作为本文章的切入点,而是用开发角度作为切入点。

我们在PHP开发中可能遇到的文件包含函数:

1、include
2、require
3、include_once
4、require_once
5、highlight_file
6、show_source
7、flie
8、readfile
9、file_get_contents
10、file_put_contents
11、fopen (比较常见)

这些函数有潜在的风险,若前后端未对用户输入做安全校验,且用户输入恶意入参,可能导致以上函数与PHP伪协议结合,造成安全风险, 具体PHP开发涉及文件包含函数的用法就不一一列举了,可参考如下文章(大神写的很好,本哥就不自己解释了):

http://t.csdn.cn/7kbXG

3.常见伪协议即其用法

1)php://input

php://input 是个可以访问请求的原始数据的只读流,获取POST请求数据的协议
当enctype=”multipart/form-data” 的时候 php://input 是无效的。

要使php://input 成功使用还需要配置php.ini 中的 allow_url_include设置为On

案例代码
php <?php @include($_GET["file"]); ?>
构造执行的代码,输出结果

2)php://filter

php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。

在利用上很多都是与包含函数结合使用,读入或者输出获取文件源码然后编码让其不执行从而输出。

php://filter 的使用:如 php://filter/read=convert.base64-encode/resource=index.php php://filter/resource=index.php php://filter 伪协议组成: read=<读链的筛选列表> resource=<要过滤的数据流> write=<写链的筛选列表> php://filter/read=处理方式(base64编码,rot13等等)/resource=要读取的文件 read 对应要设置的过滤器: 常见的过滤器分字符串过滤器、转换过滤器、压缩过滤器、加密过滤器 其中convert.base64-encode ,convert.base64-decode都属于 转换过滤器

例子

<?php $a=($_GET["file"]); echo(file_get_contents($a));//获取文件内容 ?>

访问输出base64编码后的内容

!!!非常重要!!!

转换过滤器,伪协议中的字符被过滤时,convert.*过滤器支持convert.iconv.* 格式,

使用方法:convert.iconv…或convert.iconv./

例如:

convert.iconv.UCS-4*.UCS-4BE ---> 将指定的文件从UCS-4*转换为UCS-4BE 输出

构造url,然后使用bp进行爆破:?filename=php://filter/convert.iconv.a.b/resource=check.php

3)zip:// , bzip2://, zlib:// 协议

zip:// 等属于压缩流的协议,通过直接压缩普通文件为zip文件(绕过文件上传检查用),再通过zip:// 协议读取,可以直接执行php代码。压缩后的zip文件可以随意修改后缀也不影响zip://协议读取。(注意是如phpinfo.txt直接压缩为zip,而不是文件夹压缩zip)

例:

<?php $a=($_GET["file"]); include($a); ?>

压缩及协议访问格式:

压缩文件为.zip后缀 zip://绝对路径/phpinfo.zip%23phpinfo.php 压缩文件为.bz2后缀 compress.bzip2://绝对路径/phpinfo.zip/phpinfo.php 压缩文件为.gz后缀 compress.zlib://绝对路径/phpinfo.zip/phpinfo.php

zip://访问

4)data://

data://协议与php://input 有很点相似的地方。他们都可以通过请求提交的php代码数据配合文件包含函数可以达到代码执行效果,data:// 的成功执行需要php.ini设置allow_url_include 与allow_url_open都为On。

data://协议的格式是: data://数据流封装器,相应格式数据。

常见的用法为 data://,<?php%20phpinfo();?> data://text/plain,<?php%20phpinfo();?> data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b

例子:

<?php $a=($_GET["file"]); include($a); ?>

构造data:// 访问

5)phar://

phar://伪协议可以对zip格式压缩包进行访问解析。

格式为:phar://绝对路径\phpinfo.zip\phpinfo.php

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 13:49:57

25、高级Kubernetes网络与多集群联邦:深入解析与实践指南

高级Kubernetes网络与多集群联邦:深入解析与实践指南 1. 服务基础信息与客户端IP保留 在Kubernetes中,服务有着一系列的基础信息,例如: | 信息类型 | 详情 | | — | — | | Selector | app=example | | Type | LoadBalancer | | IP | 10.67.252.103 | | LoadBalanc…

作者头像 李华
网站建设 2026/7/7 9:19:42

Colorful.Console终极解决方案:告别单调控制台的简单易用指南

Colorful.Console终极解决方案&#xff1a;告别单调控制台的简单易用指南 【免费下载链接】Colorful.Console Style your .NET console output! 项目地址: https://gitcode.com/gh_mirrors/co/Colorful.Console 还在忍受黑白单调的控制台输出吗&#xff1f;&#x1f62b…

作者头像 李华
网站建设 2026/7/7 11:34:29

如何快速搭建淘宝直播数据采集系统:完整实战指南

如何快速搭建淘宝直播数据采集系统&#xff1a;完整实战指南 【免费下载链接】taobao-live-crawler A crawler on taobao live barrages. 项目地址: https://gitcode.com/gh_mirrors/ta/taobao-live-crawler 想要获取淘宝直播间的实时弹幕数据吗&#xff1f;本文将为你详…

作者头像 李华
网站建设 2026/7/7 1:56:56

ArduinoFFT快速傅里叶变换库:让单片机听懂声音的秘诀

ArduinoFFT快速傅里叶变换库&#xff1a;让单片机听懂声音的秘诀 【免费下载链接】arduinoFFT Fast Fourier Transform for Arduino 项目地址: https://gitcode.com/gh_mirrors/ar/arduinoFFT 你是否曾经遇到过这样的困扰&#xff1a;想要用Arduino分析声音频率&#xf…

作者头像 李华
网站建设 2026/7/6 20:57:02

2025年马上过去了,MySQL和PG,到底选哪个?

《选哪个》 两大开源数据库&#xff0c;轻舟重剑各扬鞭。 轻舟MySQL融万象&#xff0c;重剑PG破千渊。 向量模型逐浪起&#xff0c;IO异步惊云巅。 更看华夏腾飞处&#xff0c;自主可控有新篇。 下周就进入12月份了&#xff0c;随着2025年即将落幕&#xff0c;又到了一年一…

作者头像 李华
网站建设 2026/7/7 5:40:45

springboot基于vue的《web技术基础》的数字课程平台的设计与开发_vff0q629

目录已开发项目效果实现截图开发技术系统开发工具&#xff1a;核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华