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. 爆破,先不断访问的同时不断发包,抓住时间差,生成新木马文件。

  • 相关阅读:
    Android 下载资源后刷新的方法,相关文章
    【Android】SDK和API Level版本的对应关系
    Android微信分享报错
    细解android之图片下载(无任何框架)
    约束布局ConstraintLayout
    Android 学习资料
    Android 相关库、工具
    Android 常见报错及解决
    Kotlin 学习资料
    Vue3.0 新特性以及使用经验总结
  • 原文地址:https://www.cnblogs.com/kbhome/p/12822316.html
Copyright © 2011-2022 走看看