WEB漏洞-文件上传之WAF绕过及安全修复

#上传参数解析:

Content-disposition:一般不可更改

Name:表单参数值,不能更改(更改需要达到统一)

Filename:文件名,可以更改

Content-type:文件MIME,视情况更改

#常见绕过方法:

数据溢出-防匹配(xxx...)---垃圾数据溢出(容易将服务器弄崩溃)

Name前加";"

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

符号替换、去掉尾、去掉符号、双写/多写符号、、、、、

注:将图中单个双引号替换为单个单引号,甚至去掉符号,都可以实现绕过的功能。但将前面的引号去掉,还是会被拦截---跟安全软件自身的匹配规则有关。

或者根据前面的测试,将x.php写到引号外

;-----代表一个语句的结束

"x.jpg;.php"----安全软件会当成x.jpg文件,但数据包又会解析成为一个php文件

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

如果写:filename="a.php%00.jpg"----可以绕过安全软件成功上次,但数据包会解析成jpg文件,无法当成php后门。

换行---换行符("\n")或者在数据包中直接回车(属于将数据分块传输---但有限制条件)

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

递归循环(验证的次数)

白名单技术-----将x.php当成正常数据(重复数据)

"/"也可作为绕过条件

Upload_fuzz 测试

链接地址:

GitHub - fuzzdb-project/fuzzdb: Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.

GitHub - TheKingOfDuck/fuzzDicts: Web Pentesting Fuzz 字典,一个就够了。

#文件上传安全修复方案

后端验证:采用服务端验证模式

后缀检测:基于黑名单,白名单过滤

MIME检测:基于上传自带类型检测

内容检测:文件头,完整性检测

利用自带的函数:(upload中许多的过滤函数)

自定义函数过滤:黑白名单自定义、限定文件类型

WAF防护产品:宝塔、云盾、安全公司产品。

相关推荐
Tipray200618 分钟前
让敏感数据在流转与存储中始终守护在安全范围
安全
前端页面仔1 小时前
易语言是什么?易语言能做什么?
开发语言·安全
Guheyunyi8 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
IT科技那点事儿10 小时前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
人工智能·安全
亚林瓜子10 小时前
AWS Elastic Beanstalk + CodePipeline(Python Flask Web的国区CI/CD)
python·ci/cd·flask·web·aws·beanstalk·codepipeline
恰薯条的屑海鸥14 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
网络·学习·安全·web安全·渗透测试
20242817李臻14 小时前
20242817李臻-安全文件传输系统-项目验收
数据库·安全
DevSecOps选型指南1 天前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
ABB自动化1 天前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
恰薯条的屑海鸥1 天前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习