• 文件上传绕过


      对于整个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>
  • 相关阅读:
    Python基础学习参考(四):条件与循环
    Python基础学习参考(三):内置函数
    Python基础学习参考(二):基本语法
    2011的最后一篇博文 写给我自己也写给你们
    前端开发面试题
    常用js操作:
    两个嵌套for循环执行顺序
    在寻找学习js的途中,又发现了好的东西!
    arcgis api for js初学
    解决为什么arcgis api for js的first map里不显示arcgis地图
  • 原文地址:https://www.cnblogs.com/AardWolf/p/10187803.html
Copyright © 2020-2023  润新知