php伪协议漏洞_php伪协议利用文件包含漏洞
php支持多种封装协议,这些协议常被CTF出题中与文件包含漏洞结合,这里做个小总结。实验用的是DVWA平台,low级别,phpstudy中的设置为5.4.45版本
设置allow_url_fopen和allow_url_include都为On.
index.php
index.php同级目录下有mytest001.txt
mytest002.txt
mytest003…txt
再说明一下,include()函数对文件后缀名无要求,而对其中的语法有要求,即使后缀名为txt,jpg也会被当做php文件解析,只要文件内是形式就可以执行,但是如果不是php语法的形式,即使后缀为php,也无法执行。
一,php:// 访问输入输出流,有两个常用的子协议
1,php://filter 设计用来过滤筛选文件
用法
非php语法文件include失败,直接输出源码内容。
php语法文件include成功,直接运行
如果想要读取运行php文件的源码,可以先base64编码,再传入include函数,这样就不会被认为是php文件,不会执行,会输出文件的base64编码,再解码即可。
若采用rot13编码,对php文件中的
2,php://input
这个协议的利用方法是 将要执行的语法php代码写在post中提交,不用键与值的形式,只写代码即可。
如果可以自己构造代码,就可以看到更重要的信息:
二,file:// 与php:filter类似,访问本地文件,但是只能传入绝对路径
三,phar:// 可以查找指定压缩包内的文件
1,传入绝对路径
2,传入相对路径,即同级目录下的文件
四,zip:// 用法与phar类似,不过有两点要注意
1,只能传入绝对路径。
2,要用#分隔压缩包和压缩包里的内容,并且#要用url编码%23
五,data 与input 类似,都是用户可以控制传入的php代码
1,直接写入代码
data: text/plain,
2,使用base64编码
data:text/plain;(注意是分号不是逗号,与前面不同)base64,编码后的php代码
有一点要注意的问题,base64编码后的加号和等号要手动的url编码,否则无法识别。
同样的,给了自己写代码的权利,就可看到更多东西
六,http协议
include中也可以传入外部链接,采用http://,具体怎么利用以后再来填坑。
最后来总结一下,
php://filter file:// 可以访问本地的文件
zip:// phar:// 可以访问本地压缩文件
php://input data: 可以自己写入php代码
关于allow_url_fopen和allow_url_include的设置和用法这里有个总结:
参考:http://www.freebuf.com/column/148886.html
https://www.cnblogs.com/Spec/p/11137030.html
php伪协议漏洞_php伪协议利用文件包含漏洞相关推荐
- php任意文件引入漏洞,PHP:ThinkCMFX任意文件包含漏洞
前言:最近爆出来的漏洞,ThinkCmfX版本应该是通杀的,基于3.X Thinkphp开发的 代码下载地址:https://gitee.com/thinkcmf/ThinkCMFX/releases ...
- 【CTF】LFI漏洞总结(PHP本地文件包含漏洞)
学习链接: https://www.cnblogs.com/wh4am1/p/6542398.html 发现地址后面的参数直接使用的文件包含. ?file=show.php 为了查看index.ph ...
- php伪协议语法,php文件包含漏洞(input与filter)
php://input php://input可以读取没有处理过的POST数据.相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要特殊的php.ini设置.php:/ ...
- 文件包含漏洞特点和php封装伪协议
渗透学习 文件包含漏洞 文章目录 渗透学习 前言 *本文只做学习用途,严禁利用本文提到的技术进行非法攻击,否则后果自负,本人不承担任何责任.* 一.文件包含漏洞 二.实验步骤 1.文件包含特点 2.本 ...
- fopen打开ftp文件_PHP文件包含漏洞利用思路与Bypass总结手册(一)
作者:Qftm 合天智汇 前言 这个手册主要是记录针对PHP文件包含漏洞的利用思路与Bypass手法的总结. 相关函数 四个函数 php中引发文件包含漏洞的通常主要是以下四个函数: 1.include ...
- php本地文件包含漏洞,php文件包含漏洞利用小结
漏洞概述: 文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式. 产生原因: ...
- 文件包含漏洞及漏洞利用
文件包含漏洞 文件包含 程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某个函数的时候,直接调用此文件,无需再次编写,这种调用文件的过程通常称为包含. 程序开发人员都希望代码更加灵活,所以通 ...
- 【文件包含漏洞03】文件包含漏洞的空字符绕过及六种利用方式
目录 1 内容简介 本节概述 实验环境 2 空字符绕过 2.1 实验基础知识 2.2 实验环境及准备 2.3 实验步骤 2.3.1 正常访问 2.3.2 空字符绕过 2.3.3 额外的方式 3 利用方 ...
- PHP文件包含漏洞利用思路与Bypass总结手册(一)
本文作者:Qftm 目录 前言 相关函数 四个函数 函数功能 函数差异 漏洞原因 漏洞分类 包含姿势 php伪协议 php://filter file:// php://input file_get_ ...
最新文章
- python开发需要掌握哪些知识-人工智能需要学习哪些专业课程知识?
- python type help copyright_Python关于import的实验(8)__init__.py文件内部代码的执行以及内部的导入和内部的变量...
- JSONP实现原理-简析
- BZOJ2388 : 旅行规划
- 看人家如何拿到腾讯阿里的offer
- IntelliJ IDEA for Mac 中 Java Web Project 默认的工件(Artifacts)输出目录
- 【Modern OpenGL】前言
- es为mysql创建索引_ES(ElasticSearch) 索引创建
- [Redis]Node操作Redis
- 从智能家居的发展看对讲企业的定位
- Application.DoEvents()
- 广义逆矩阵:加号逆(A+)与减号逆(A-)
- 华三模拟器 HCL无线网络搭建+AC桥接到本地
- Linux(进程概念详解)
- 年终敬酒万能语句(领导篇)
- 《C primer plus》——文件输入/输出
- Unity Shader学习:SSAO屏幕环境光遮蔽
- 71-项目的广告管理模块和用户管理模块
- Unity使用Mysql(添/删/改/查)(保姆级)
- Emacs 生存指南
热门文章
- 使用Json出现java.lang.NoClassDefFoundError解决方法
- 安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法
- cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded 解决方法
- H5 播放视频常见bug及解决方案
- Idea(二) 解决IDEA卡顿问题及相关基本配置
- $GOPATH not set 问题解决方案
- Spark Shuffle 堆外内存溢出问题与解决(Shuffle通信原理)
- Android 启动APP时黑屏白屏的三个解决方案
- 解决自己电脑VMware打开虚拟机黑屏问题
- 关于发邮件报错535 Error:authentication failed解决方法