2021/12/3文件上传-WAF绕过和修复
作者:互联网
配置虚拟机
less-2
我这还没操作呢就被拦截了o(*≧▽≦)ツ┏━┓,而且我还没启动safedog
疑惑了不知道关哪里
换个关卡把
less3
上传参数名解析:明确哪些东西能修改?
Content-Disposition:响应头指示回复的内容该以何种形式展示(表单-一般可更改)
表单名称(这里一般不能改,和前端代码一致)
常用绕过思路:
1.数据溢出
less3是黑名单检测
尝试filename的内容进行溢出
注意这里只是单纯的改后缀php5也不会被安全狗拦截,绕过只是演示思路
垃圾数据后加“;”进行分隔
name与filename之间进行溢出
Content-Disposition与name之间
2.符号变异-防匹配(' " ;)
原理:(当时视频)推测安全狗是检测提取字符串内容检测,但是数据包删掉引号也能上传,利用这一点
filename=" xx.php
filename="x x.php
filename=' xx.php
filename='x x.php
3. 数据截断-防匹配(%00 ; 换行;/)
文件名中加入图片后缀提前用分号截断,文件会上传后面的,让我想起了参数污染
这里换成php就不行了,所以还要考虑代码方面,这里没办法白名单的打不开
文件名中用%00url编码截断
filename="shell.php%00xx.jpg" 注意%00要编码
数据换行截断
重复数据(参数多次)
重复filename,前面的filename为可接受的文件格式,最后一个为php文件格式,前面的重复多次
filename中配合其他参数
** 配合目录命名绕过**
filename="/jpeg;x.php"
filename="/jpeg;/x.php"
。。。
FUZZ字典
清除所有变量
将filename的值设置为变量
payload加载字典
文件上传安全修复方案
1.后端验证:采用服务端验证模式(不采用前端验证)
2.三种检查方式同时进行
后缀检测:基于黑名单,白名单过滤
MIME 检测:基于上传自带类型检测
内容检测:文件头,完整性检测
3.自带函数过滤
如:getimagesize()函数;exif_imagetype()函数
标签:12,WAF,filename,截断,2021,检测,绕过,php,上传 来源: https://www.cnblogs.com/bigcrucian/p/15912904.html