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伪协议利用文件包含漏洞相关推荐

  1. php任意文件引入漏洞,PHP:ThinkCMFX任意文件包含漏洞

    前言:最近爆出来的漏洞,ThinkCmfX版本应该是通杀的,基于3.X Thinkphp开发的 代码下载地址:https://gitee.com/thinkcmf/ThinkCMFX/releases ...

  2. 【CTF】LFI漏洞总结(PHP本地文件包含漏洞)

    学习链接: https://www.cnblogs.com/wh4am1/p/6542398.html 发现地址后面的参数直接使用的文件包含.  ?file=show.php 为了查看index.ph ...

  3. php伪协议语法,php文件包含漏洞(input与filter)

    php://input php://input可以读取没有处理过的POST数据.相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要特殊的php.ini设置.php:/ ...

  4. 文件包含漏洞特点和php封装伪协议

    渗透学习 文件包含漏洞 文章目录 渗透学习 前言 *本文只做学习用途,严禁利用本文提到的技术进行非法攻击,否则后果自负,本人不承担任何责任.* 一.文件包含漏洞 二.实验步骤 1.文件包含特点 2.本 ...

  5. fopen打开ftp文件_PHP文件包含漏洞利用思路与Bypass总结手册(一)

    作者:Qftm 合天智汇 前言 这个手册主要是记录针对PHP文件包含漏洞的利用思路与Bypass手法的总结. 相关函数 四个函数 php中引发文件包含漏洞的通常主要是以下四个函数: 1.include ...

  6. php本地文件包含漏洞,php文件包含漏洞利用小结

    漏洞概述: 文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式. 产生原因: ...

  7. 文件包含漏洞及漏洞利用

    文件包含漏洞 文件包含 程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某个函数的时候,直接调用此文件,无需再次编写,这种调用文件的过程通常称为包含. 程序开发人员都希望代码更加灵活,所以通 ...

  8. 【文件包含漏洞03】文件包含漏洞的空字符绕过及六种利用方式

    目录 1 内容简介 本节概述 实验环境 2 空字符绕过 2.1 实验基础知识 2.2 实验环境及准备 2.3 实验步骤 2.3.1 正常访问 2.3.2 空字符绕过 2.3.3 额外的方式 3 利用方 ...

  9. PHP文件包含漏洞利用思路与Bypass总结手册(一)

    本文作者:Qftm 目录 前言 相关函数 四个函数 函数功能 函数差异 漏洞原因 漏洞分类 包含姿势 php伪协议 php://filter file:// php://input file_get_ ...

最新文章

  1. python开发需要掌握哪些知识-人工智能需要学习哪些专业课程知识?
  2. python type help copyright_Python关于import的实验(8)__init__.py文件内部代码的执行以及内部的导入和内部的变量...
  3. JSONP实现原理-简析
  4. BZOJ2388 : 旅行规划
  5. 看人家如何拿到腾讯阿里的offer
  6. IntelliJ IDEA for Mac 中 Java Web Project 默认的工件(Artifacts)输出目录
  7. 【Modern OpenGL】前言
  8. es为mysql创建索引_ES(ElasticSearch) 索引创建
  9. [Redis]Node操作Redis
  10. 从智能家居的发展看对讲企业的定位
  11. Application.DoEvents()
  12. 广义逆矩阵:加号逆(A+)与减号逆(A-)
  13. 华三模拟器 HCL无线网络搭建+AC桥接到本地
  14. Linux(进程概念详解)
  15. 年终敬酒万能语句(领导篇)
  16. 《C primer plus》——文件输入/输出
  17. Unity Shader学习:SSAO屏幕环境光遮蔽
  18. 71-项目的广告管理模块和用户管理模块
  19. Unity使用Mysql(添/删/改/查)(保姆级)
  20. Emacs 生存指南

热门文章

  1. 使用Json出现java.lang.NoClassDefFoundError解决方法
  2. 安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法
  3. cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded 解决方法
  4. H5 播放视频常见bug及解决方案
  5. Idea(二) 解决IDEA卡顿问题及相关基本配置
  6. $GOPATH not set 问题解决方案
  7. Spark Shuffle 堆外内存溢出问题与解决(Shuffle通信原理)
  8. Android 启动APP时黑屏白屏的三个解决方案
  9. 解决自己电脑VMware打开虚拟机黑屏问题
  10. 关于发邮件报错535 Error:authentication failed解决方法