一、WAF防护原理
1. bypass
客户端JavaScript校验;服务器校验;文件内容头字段、编码校验;后缀名黑名单校验;自定义正则校验;waf设备校验;
有些waf不会防asp/php/jsp后缀文件,但是他会检测里面的文件;
WTS-WAF bypass ; baidu colud bypass; aliyun waf; 安全狗上传bypass;云锁上传bypass;
2. defense
目录设为不可执行:只要该目录下文件设为不可执行,即使攻击者上传了脚本,服务器也不会受到影响
判断文件类型:结合MIME-type、后缀检查等方式
用随机数改写:
二、WAF绕过方法
1、手工注入绕过
大小写变种:只针对小写或大写的关键字匹配技术
双写/嵌套剥离: 一些过滤器将用户的输入进行剥离敏感函数,如:seleselectct 剥离后 select
编码绕过 : 十六进制编码、Unicode编码、url编码(如下表)
backspace |
8% |
A |
41% |
a |
61% |
§ |
%A7 |
Õ |
%D5 |
|
tab |
9% |
B |
42% |
b |
62% |
« |
%AB |
Ö |
%D6 |
|
linefeed |
%0A |
C |
43% |
c |
63% |
¬ |
%AC |
Ø |
%D8 |
|
creturn |
%0D |
D |
44% |
d |
64% |
¯ |
%AD |
Ù |
%D9 |
|
space |
20% |
E |
45% |
e |
65% |
º |
%B0 |
Ú |
%DA |
|
! |
21% |
F |
46% |
f |
66% |
± |
%B1 |
Û |
%DB |
|
" |
22% |
G |
47% |