文件上传——WAF绕过
上传参数名解析:明确哪些东西能更改
content-disposition:一般可更改
name:表单参数值,不能更改
filename:文件名,可以更改
content-type:文件MIME,视情况更改
-------
文件上传 WAF一般检测:
一:filename(阻止php等其他后门脚本后缀名)
绕过方法:
①数据溢出——防匹配(通过在name前加入足够多的垃圾数据,来使检测崩溃,从而上传。)
②符号变异——可以删除filename后面的单双引号或者前后的单双引号都删除。或者"x".php也可以绕过
③数据截断——将filename改为x.jpg;.php可以绕过(安全狗匹配的是;前面的jpg,不会匹配到后面的php);
将php进行换行,也可以绕过安全狗。
④重复数据——将filename重复几个,最后一个写php代码,可以绕过,或者将前面的信息复制到filename里面,在后面再加上x.php
fuzz模糊测试{可下载fuzz字典,利用bp进行爆破}
------
文件上传安全修复方案:
后端验证——采用服务端验证模式
后缀检测——基于黑白名单过滤
MIME检测——基础上传自带类型检测
内容检测——文件头,完整性检测
自带函数过滤
自定义函数过滤:function check_file(){}
WAF防护产品:宝塔,云盾等
本文作者:juejuezi
本文链接:https://www.cnblogs.com/juejuezi/p/17031478.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步