博客
关于我
24 WEB漏洞-文件上传之WAF绕过及安全修复_阿里云盾waf绕过怎么修复
阅读量:805 次
发布时间:2023-01-25

本文共 1294 字,大约阅读时间需要 4 分钟。

目录
    • WAF绕过
    • 上传参数名解析:明确哪些东西能修改?
    • 常见绕过方法:
      • `符号变异-防匹配(' " ;)`
      • 数据截断-防匹配(%00 ; 换行)
      • 重复数据-防匹配(参数多次)
      • 搜索引擎搜索fuzz web字典
    • 文件上传安全修复方案

WAF绕过

safedog BT(宝塔) XXX云盾 宝塔过滤的比安全狗厉害一些,在真实情况下现在很多网站都是用宝塔。

上传参数名解析:明确哪些东西能修改?

Content-Disposition: 表单数据,一般可更改

name:表单参数值,不能更改
Filename:文件名,可以更改,但意义不大
Content-Type:文件MIME,视情况更改

防护软件通常通过数据包中的代码判断数据包异常,从而拦截文件上传。通过研究发现,许多WAF会对特定关键字进行检测,如.php或其他常见文件扩展名。如果能将这些关键字隐藏或改变格式,通常可以绕过WAF的过滤。例如,可以采用如`.php`或`ph p`等变形方式,但需要注意这些方法是否会被检测到。

常见绕过方法:

数据溢出-防匹配(xxx…)

在form-data;处添加大量垃圾数据,末尾加上分号,以绕过防护。

`符号变异-防匹配(' " ;)`

通过变换引号类型或添加分号,改变WAF的匹配规则。例如,将单引号替换为双引号或前后交替使用,使得WAF无法正确识别文件扩展名。

数据截断-防匹配(%00 ; 换行)

通过添加特殊字符或换行,干扰WAF的匹配逻辑,例如filename="x.p h" 或 "x.jpg;.php"。

重复数据-防匹配(参数多次)

通过在Content-Disposition中多次重复filename参数,如filename="x.php"; filename="x.php";,使WAF难以检测真实文件扩展名。

搜索引擎搜索fuzz web字典

使用fuzz工具生成大量可能的文件名或参数值,通过大量尝试实现绕过WAF。例如,在filename或Content-Disposition中插入随机字典后的字符串,测试成功率。

文件上传安全修复方案

后端验证:采用服务端验证模式,严禁前端编辑表单数据

后缀检测:基于黑名单或白名单过滤
MIME检测:严格验证文件扩展名和MIME类型
内容检测:完整性检查文件头或使用高级正则表达式

建议采用的方案包括:

1. 采用服务端验证模式,确保前端不能编辑表单数据
2. 对于常见文件类型(如jpg、png)开启双重验证,既检查扩展名又检查MIME类型
3. 使用自带的过滤函数或自定义验证函数,对于传入参数进行严格检查

最后,建议使用专业的WAF产品(如宝塔云盾等)进行额外防护,确保漏洞无法被攻击者绕过。

转载地址:http://fkryk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现哈希查找(附完整源码)
查看>>
Objective-C实现哈希表算法(附完整源码)
查看>>
Objective-C实现哥德巴赫猜想(附完整源码)
查看>>
Objective-C实现唯一路径问题的动态编程方法的算法(附完整源码)
查看>>
Objective-C实现唯一路径问题的回溯方法的算法(附完整源码)
查看>>
Objective-C实现四舍五入(附完整源码)
查看>>
Objective-C实现四阶龙格库塔法(附完整源码)
查看>>
Objective-C实现四阶龙格库塔法(附完整源码)
查看>>
Objective-C实现回调实例(附完整源码)
查看>>
Objective-C实现图-弗洛伊德FloydWarshall算法(附完整源码)
查看>>
Objective-C实现图书借阅系统(附完整源码)
查看>>
Objective-C实现图像二维熵的图像信号丢失检测(附完整源码)
查看>>
Objective-C实现图像去雾算法(附完整源码)
查看>>
Objective-C实现图像灰度变换(附完整源码)
查看>>
Objective-C实现图像相似度平均值哈希算法(附完整源码)
查看>>
Objective-C实现图像移动(附完整源码)
查看>>
Objective-C实现图层混合算法(附完整源码)
查看>>
Objective-C实现图片dilation operation扩张操作算法(附完整源码)
查看>>
Objective-C实现图片erosion operation侵蚀操作算法(附完整源码)
查看>>
Objective-C实现图片的放大缩小(附完整源码)
查看>>