Loading

二十四:文件上传之WAF绕过及安全修复

上传参数名解析:明确哪些参数名可以修改

content-Disposition:一般可更改(from-data)接受表单的数据
name:表单参数值,不能更改
filename:文件名,可以更改
connect-Type:文件MIME,试情况而定

常见绕过方法

数据溢出-防止匹配(xxx...)------也就是垃圾数据使得WAF无法匹配
符号变异-防匹配(' " ;)-----匹配''以及""里面的内容,没匹配到,所以绕过
数据截断-防匹配(%00 ; 换行)
重复数据-防匹配(参数多次)
主要是绕过狗子,然后进行绕过

大量垃圾数据

name="upload_file";垃圾数据 file_name="x.php"

file_name="dudu.php----由于没有"结尾,所以没找见结尾,可以上传,但是"放在前面就失效,X"x".php

"x.php;.php"   ""里面的都是上传的文件名,;表示已经截断了


filename=x.php
filename="x.php
filename='x.php
filename="a.jpg;.php";
filename="a.php%00.jpg"
filename="connect-disposition:from-data;
name="upload_file";x.php"
filename="x.jpg";filename="x.jpg";.....filename="x.php";


以及fuzz web字典,进行爆破

安全修复

后端进行验证,
后端验证:基于黑名单,白名单过滤
MIME基于上传自带类型检测
内容检测:文件头,完整性检测

后缀验证,参考upload-labs关卡黑名单的各种方式
getimage函数只能接受图片,只处理图片信息
posted @ 2021-01-22 18:10  王嘟嘟~  阅读(426)  评论(0编辑  收藏  举报