5.1SQL注入之WAF绕过

SQL注入之WAF绕过

WAF拦截原理:WAF从规则库中匹配敏感字符进行拦截。

image.png

本环境需要安装安全狗以及火狐游览器+hackbar插件以便更改提交请求。

更改提交方式绕过

注意要使得post提交方式成功,后端首先必须支持接受post请求的数据,因此在php后端可以自己手动改为$_REQUEST既可接受get也可以接受post数据。

由于安全狗会对and进行敏感字屏蔽,如果更改为post请求,则有机会可以绕过

get请求会被安全狗拦截

image-20240718103128208

更改为post请求

image-20240718103036401

关键词大小写绕过

编码绕过

双写绕过

曾经版本的waf可以绕过,新版本的安全狗无法绕过了。

image-20240718105822556

换行(\N)绕过

一般可以配合内联注释实现绕过

注释符内联注释绕过:

安全狗不允许post请求去查看数据库名

image-20240718103652027

于是通过内联注释绕过

image-20240718103921001

由于安全狗版本过高,普通的内联已经无法绕过waf了。

image-20240718104251225

必须使用复杂的内联才能绕waf,通过先注释于此同时又换行,从而使得骗过安全狗,把敏感字段注释了,实则换行后还可以继续执行。

image-20240718104906525

同义词替换

HTTP参污染

比如给id传递多个参数,最后接收的是id=3.

image-20240718112521658

由于php多参数是接受最后一个参数,所以id最后第二个,但是被waf检测到了,所以被拦截。

image-20240718113740305

WAF绕过的思路就是让WAF的检测规则,识别不到你所输入的敏感字符,利用上述所介绍的知识点,灵活结合各种方法,从而可以增加绕过WAF的可能性

order by绕过sql注入语句

image-20240718110756787

Last updated