zoukankan      html  css  js  c++  java
  • 文件上传绕过姿势总结

    文件上传绕过姿势总结

    1. 客户端(前端js验证):

      抓包,修改后缀,重放绕过。

    2. mime(扩展类型限制):

      白名单类型限制,可以像第一种一样抓正确的包、修改后缀、重放绕过。也可以直接修改content-type类型

    3. 黑名单过滤:

    4. .php、php3、phtml在apche中以php格式解析

    5. .htaccess后缀,.htaccess是apche配置文件,上传.htaccess语句,让任何文件都被php解析

      SetHandler application/x-httpd-php
      
    6. 大小写绕过

    7. 尾部空格(Windows系统特性,自动去除尾部小数点和空格)

      将文件改为1.php .(空格加点),传进去后会删除空格和.保留1.php文件名。(因为bp不能末尾加空格无用,所以换成空格加.)

    8. 尾部小数点

      同理:没有对后缀名进行去"."处理,在bp中改为1.php. ,传成功后就会自动删除“.”

    9. 两次去空格和小数点:

      代码中有过滤空格和小数点,但是是一次性的,所以我们写两次空格加小数点,代码过滤一次,传进去后,系统自动去除一次

    10. "::$DATA"绕过:

      没有对后缀名进行去”::$DATA”处理,利用windows特性,可在后缀名中加” ::$DATA”绕过:

      NTFS文件系统包括对备用数据流的支持。这不是众所周知的功能,主要包括提供与Macintosh文件系统中的文件的兼容性。备用数据流允许文件包含多个数据流。每个文件至少有一个数据流。在Windows中,此默认数据流称为:$ DATA。
      
    11. 见到替换空字符,就想到双写绕过:

      例:.pphphp后缀

    12. %00隔断():

      %00来隔断后面的随机字符

    13. 时间差,竞争关系:

      上传木马文件会在缓存中停留几毫秒然后才被删除掉,可以利用这个时间差执行操作。

      1. 构建访问包不断访问

      2. 构建上传包,不断发送木马(这个木马主要内容为在抓住时间差,在当前路径生成新的木马文件)

        <?php fputs(fopen('shell2.php','w'),'<?php @eval($_POST["x"])?>’);?>
        
      3. 爆破,先不断访问的同时不断发包,抓住时间差,生成新木马文件。

  • 相关阅读:
    NES游戏历史
    NES资料
    Spring的自动装配
    springmvc框架如何将模型数据传递给视图 也就是Model>view参数的传递
    拆分Spring的配置文件
    Springmvc框架前台传值给controller @Requestparam @RequestMapping
    SpringMVC框架传入Map集合
    SpringMVC框架使用注解编写的处理请求和映射@Controller @RequestMapping
    SpringMVC初尝试
    MVC设计模式
  • 原文地址:https://www.cnblogs.com/kbhome/p/12822316.html
Copyright © 2011-2022 走看看