zoukankan      html  css  js  c++  java
  • 文件上传绕过

      对于整个HTTP请求包来说,所有内容都是用户可控的,只是请求包中的几个点有可能是后台服务器的检测重点:

    1 Content-Length  上传内容大小
    2 MAX_FILE_SIZE   上传内容的最大长度
    3 filename      上传文件名
    4 Content-Type    上传文件类型
    5 请求包中的乱码字段  上传文件的内容
    6 有可能存在请求包中的可控点还有上传路径

    一、客户端绕过

      利用抓包工具(如BURP),抓包改包。将原上传正常格式的文件变为 php、asp等文件

      如果是JavaScript验证,可以使用 IE 禁用 js(火狐的noscript插件也行)。

    二、服务端绕过

      BURP抓包,修改相应值,修改文件名位置 filename ,文件类型位置 Content-Type

      1、文件类型

        控制文件类型的是  Content-Type  ,我们需要将文件类型改为允许上传的文件类型。

      2、文件头

        找到请求包中的文件内容位置,在一句话木马内容的前面加上一些文件头信息

      3、文件后缀名

        对于黑名单的绕过,如php、asp、jsp,可以先试试 在文件名后添加空格 或 大小写的组合。

    另外能被解析的文件扩展名列表:
    jsp jspx jspf
    asp asa cer aspx
    php php2 php3 php4 ph5 phtml
    exe exee

       4、过滤绕过

        如果遇到,上传一个php被自动改成其他类型的文件,那么可能是php被过滤了,那么这个时候,可以尝试改后缀名为:pphphp。原理:过滤了  第一个php,分开的p和结尾的hp就组合成为 php

      5、文件重写

        直接传个 带小马的gif ,再传个 htaccess 重写解析规则

    .htaccess 文件内容:
    <FilesMatch "上传的文件名">
        SetHandler application/x-httpd-php
    </FilesMatch>
  • 相关阅读:
    ionic2简单分析
    mvc的真实含义
    JavaSE学习总结(十七)—— IO流
    vs2010快捷键;sql server 2008快捷;IE9快捷键
    设计模式之六大设计原则
    通过peview分析PE文件
    游戏限制多开原理及对应方法
    inline hook原理和实现
    vm tools安装包为空
    Linux下PWN环境搭建
  • 原文地址:https://www.cnblogs.com/AardWolf/p/10187803.html
Copyright © 2011-2022 走看看